题解 | #分糖果问题#
分糖果问题
http://www.nowcoder.com/practice/76039109dd0b47e994c08d8319faa352
/**
-
pick candy
-
@param arr int整型一维数组 the array
-
@param arrLen int arr数组长度
-
@return int整型
-
C语言声明定义全局变量请加上static,防止重复定义 / int candy(int arr, int arrLen ) {
int i = 0; int sum = 0;
int temp[arrLen]; for(i = 0; i < arrLen; i++) { temp[i] = 1; }
for(i = 1; i < arrLen; i++) { if(arr[i] > arr[i-1]) { temp[i] = temp[i-1] +1; } } for(i = arrLen - 1; i > 0; i--) { if(arr[i-1] > arr[i]) { if(temp[i-1] <= temp[i]) { temp[i-1] = temp[i] + 1; } } } for(i = 0; i < arrLen; i++) { sum += temp[i]; }
return sum; }