zoukankan      html  css  js  c++  java
  • 135. 分发糖果

    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;
        }
    }
  • 相关阅读:
    第二周作业修改+
    第三周作业
    第二周作业修改
    第三次作业
    第二次作业
    获奖感想
    最后的作业
    14周作业
    第七周作业
    第六周作业
  • 原文地址:https://www.cnblogs.com/yonezu/p/13373242.html
Copyright © 2011-2022 走看看