Java算法--网易真题

第一道题

给定一个正数数组arr,表示每个小朋友的得分

任何两个相邻的小朋友,如果得分一样,怎么分糖果无所谓,

但如果得分不一样,分数大的一定要比分数少的多拿一些糖果

假设所有的小朋友坐成一个环形

返回在不破坏以上任何一条规则的情况下,需要的最少糖果数

public static int minCandy(int[] candies) {
        int length = candies.length;
        int minIndex = 0;
        for(int i = 1; i < candies.length; i ++) {
            if(candies[i] <= candies[lastIndex(i, length)] && candies[i] <= candies[nextIndex(i, length)]) {
                minIndex = i;
                break;
            }
        }
        //生成新的数组
        int[] newArray = new int[length + 1];

        for(int i = 0; i <= length; i ++, minIndex = nextIndex(minIndex, length)) {
     

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

八股文+场景题+算法真题 文章被收录于专栏

Java全新整理八股文 + 场景题 + 算法 精心设计,面试命中率超过80% 专栏优势: 1、问题和答案已经整理到位,答案更专业,可以直接回答,不需要额外总结! 2、场景题讲解清晰,适用于大部分场景的项目,并且持续更新中 3、分享学习心得【知识点的广度和深度,算法有哪些坑,如何准备面试等等】

全部评论

相关推荐

评论
1
1
分享

创作者周榜

更多
牛客网
牛客企业服务