Description:
5174. Diet Plan Performance
- User Accepted:0
- User Tried:0
- Total Accepted:0
- Total Submissions:0
- Difficulty:Easy
A dieter consumes calories[i]
calories on the i
-th day. For every consecutive sequence of k
days, they look at T, the total calories consumed during that sequence of k
days:
- If
T < lower
, they performed poorly on their diet and lose 1 point; - If
T > upper
, they performed well on their diet and gain 1 point; - Otherwise, they performed normally and there is no change in points.
Return the total number of points the dieter has after all calories.length
days.
Note that: The total points could be negative.
Example 1:
Input: calories = [1,2,3,4,5], k = 1, lower = 3, upper = 3 Output: 0 Explaination: calories[0], calories[1] < lower and calories[3], calories[4] > upper, total points = 0.
Example 2:
Input: calories = [3,2], k = 2, lower = 0, upper = 1 Output: 1 Explaination: calories[0] + calories[1] > upper, total points = 1.
Example 3:
Input: calories = [6,5,0,0], k = 2, lower = 1, upper = 5 Output: 0 Explaination: calories[0] + calories[1] > upper, calories[2] + calories[3] < lower, total points = 0.
Constraints:
1 <= k <= calories.length <= 10^5
0 <= calories[i] <= 20000
0 <= lower <= upper
Solution:
class Solution { public int dietPlanPerformance(int[] calories, int k, int lower, int upper) { if(calories==null||calories.length ==0){ return 0; } int points=0; int i = 0; int times = calories.length /k; for( i = 0; i+k<=calories.length; i++){ int [] a = new int[k]; int count =0; int tmp_sum = 0; for(int j = i; count< k; j++ ){ tmp_sum = tmp_sum + calories[j]; count++; } if(tmp_sum<lower){ points = points -1; } if(tmp_sum>upper){ points = points+1; } } return points; } public int sum (int[] a ){ int sum = 0; for(int i = 0; i<a.length; i++){ sum = sum+a[i]; } return sum; } }
原文地址:https://www.cnblogs.com/codingyangmao/p/11441778.html
时间: 2024-10-08 19:21:20