日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

LeetCode 1176. 健身计划评估(滑动窗口)

發布時間:2024/7/5 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 LeetCode 1176. 健身计划评估(滑动窗口) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

    • 1. 題目
    • 2. 解題

1. 題目

你的好友是一位健身愛好者。前段日子,他給自己制定了一份健身計劃。現在想請你幫他評估一下這份計劃是否合理。

他會有一份計劃消耗的卡路里表,其中 calories[i] 給出了你的這位好友在第 i 天需要消耗的卡路里總量。

為了更好地評估這份計劃,對于卡路里表中的每一天,你都需要計算他 「這一天以及之后的連續幾天」 (共 k 天)內消耗的總卡路里 T:

  • 如果 T < lower,那么這份計劃相對糟糕,并失去 1 分;
  • 如果 T > upper,那么這份計劃相對優秀,并獲得 1 分;
  • 否則,這份計劃普普通通,分值不做變動。

請返回統計完所有 calories.length 天后得到的總分作為評估結果。

注意:總分可能是負數。

示例 1: 輸入:calories = [1,2,3,4,5], k = 1, lower = 3, upper = 3 輸出:0 解釋:calories[0], calories[1] < lower 而 calories[3], calories[4] > upper, 總分 = 0.示例 2: 輸入:calories = [3,2], k = 2, lower = 0, upper = 1 輸出:1 解釋:calories[0] + calories[1] > upper, 總分 = 1.示例 3: 輸入:calories = [6,5,0,0], k = 2, lower = 1, upper = 5 輸出:0 解釋:calories[0] + calories[1] > upper, calories[2] + calories[3] < lower, 總分 = 0.提示: 1 <= k <= calories.length <= 10^5 0 <= calories[i] <= 20000 0 <= lower <= upper

來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/diet-plan-performance
著作權歸領扣網絡所有。商業轉載請聯系官方授權,非商業轉載請注明出處。

2. 解題

class Solution { public:int dietPlanPerformance(vector<int>& calories, int k, int lower, int upper) {int sum = 0, i = 0, j = 0, n = calories.size(), points = 0;while(j < k-1)sum += calories[j++];while(j < n){sum += calories[j++];if(sum < lower)points--;else if(sum > upper)points++;sum -= calories[i++];}return points;} };

64 ms 22.1 MB


長按或掃碼關注我的公眾號,一起加油、一起學習進步!

總結

以上是生活随笔為你收集整理的LeetCode 1176. 健身计划评估(滑动窗口)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。