题解 | #牛群放牧顺序#

牛群放牧顺序

https://www.nowcoder.com/practice/69f5f2d04d1c41df8d4e0691f6ef6935

import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param ratings int整型一维数组 
     * @return int整型
     */
    public int min_pasture_time (int[] ratings) {
        // write code here
        int[] res = new int[ratings.length];
        res[0] = 1;
	  	//左边小就赋值左边+1,否则赋值1(因为最小放牧次数为1)
        for (int i = 1; i < ratings.length; i++) {
            res[i] = ratings[i] > ratings[i - 1] ? res[i - 1] + 1 : 1;
        }
	  	//计算最小放牧次数,因为遍历从倒数第二个元素开始,所以sum初始化倒数第一个元素
        int sum = res[ratings.length - 1];
	  	//右边比自己大就赋值右边+1,否则不动
        for (int i = ratings.length - 2; i >= 0; i--) {
            if(ratings[i] > ratings[i + 1])
                res[i] = res[i + 1] + 1;
            sum += res[i];
        }

        return sum;
    }
}

全部评论

相关推荐

矫健的闭门羹烹饪师又熬夜了:本人双非本,在鹅厂测开实习,你这个简历上写的这两个项目的技术栈都差不多,能够让面试官去延伸去问的八股除了redis就再没啥了,建议项目这边可以再改改,然后专业技能那块的话,感觉linux和测试工具可以分开写,毕竟不是干一件事的,反正没实习的基础上面试就深挖项目和八股,好好卷吧
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
06-27 20:55
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务