import java.util.*;
public class Solution {
/**
* pick candy
* @param arr int整型一维数组 the array
* @return int整型
*/
public int candy (int[] arr) {
if(arr.length <=1){
return arr.length;
}
// 分糖果数量
int[] candyCount = new int[arr.length];
for(int i=0;i<candyCount.length;i++){
candyCount[i] = 1;
}
for(int i =0 ;i < arr.length-1 ;i++){
if(arr[i] < arr[i+1]){
candyCount[i+1] = candyCount[i]+1;
}
}
for(int i= arr.length-1;i>0;i--){
if(arr[i]<arr[i-1] && candyCount[i-1]<= candyCount[i]){
candyCount[i-1] = candyCount[i]+1;
}
}
int sum = 0;
for(int i=0;i<candyCount.length;i++){
sum += candyCount[i];
}
return sum;
}
}
BM95 分糖果问题
于 2022-07-15 11:02:20 首次发布