华为机试题

给士兵分子弹,根据成绩分配子弹数量,相邻两个士兵成绩较好的分的数量大于差的一个,每一位至少分配一发子弹。输入一组数据代表该组士兵的成绩,输出分配子弹数量的最小值。

示例:[1,2,2] -> 4;  [2,1,2]->5;  [1,2,7,3,2,1,2,2]->16

#华为笔试##华为##笔试题目#
全部评论
所以你发出来只是为了让大家看看题目吗😂
点赞 回复
分享
发布于 2020-04-28 13:56
class Solution {     public int bullet(int[] ratings) {         int len = ratings.length;         int [] left = new int [len];         int [] right = new int [len];         Arrays.fill(left, 1);         Arrays.fill(right, 1);         for(int i = 1; i < len; i++){             if(ratings[i] > ratings[i-1]) left[i] = left[i-1] + 1;         }         for(int i = len-2; i >= 0; i--){             if(ratings[i] > ratings[i+1]) right[i] = right[i+1] + 1;         }         int total = 0;         for(int i = 0; i < len; i++){             total += Math.max(left[i], right[i]);         }         return total;     } }
点赞 回复
分享
发布于 2020-04-28 14:16
饿了么
校招火热招聘中
官网直投
请问这个是哪一天的呀?
点赞 回复
分享
发布于 2020-04-28 14:44

相关推荐

点赞 4 评论
分享
牛客网
牛客企业服务