码迷,mamicode.com
首页 > 其他好文 > 详细

135. 分发糖果

时间:2020-07-24 19:04:42      阅读:61      评论:0      收藏:0      [点我收藏+]

标签:amp   pre   turn   array   一个   从右到左   ret   img   load   

技术图片

 

 

class Solution {
    public int candy(int[] ratings) {
        int n = ratings.length;
        int[] arr = new int[n];
        Arrays.fill(arr,1); // 先每人分一个
        for(int i = 1; i < n; i++) { // 从左到右分当前分数大于前一个就变为前一个加一
            if(ratings[i] > ratings[i-1]) arr[i] = arr[i-1] + 1;
        }
        int res = arr[n-1];
        for(int i = n - 2; i >= 0; i--) {// 从右到左分,当前分数大于后一个,且当前拿到的糖比后一个少就变为后一个加一
            if(ratings[i] > ratings[i+1] && arr[i] <= arr[i+1]) arr[i] = arr[i+1] + 1;
            res += arr[i];
        }   
        return res;
    }
}

 

135. 分发糖果

标签:amp   pre   turn   array   一个   从右到左   ret   img   load   

原文地址:https://www.cnblogs.com/yonezu/p/13373242.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!