135. 分发糖果
Posted yonezu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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; } }
以上是关于135. 分发糖果的主要内容,如果未能解决你的问题,请参考以下文章