(Easy) Diet Plan Performance LeetCode Contest

Posted codingyangmao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(Easy) Diet Plan Performance LeetCode Contest相关的知识,希望对你有一定的参考价值。

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;
    
   
    

 

以上是关于(Easy) Diet Plan Performance LeetCode Contest的主要内容,如果未能解决你的问题,请参考以下文章