题目描述

你的好友是一位健身爱好者。前段日子,他给自己制定了一份健身计划。现在想请你帮他评估一下这份计划是否合理。

他会有一份计划消耗的卡路里表,其中 calories[i] 给出了你的这位好友在第 i 天需要消耗的卡路里总量。

计划的统计周期通常是 k 天,你需要计算他在每一段连续的 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

解题思路

class Solution {
public:int dietPlanPerformance(vector<int>& cal, int k, int lower, int upper) {int ans = 0,i = 0,len = cal.size();vector<int> vect;for(int i=0;i<=len-k;++i){int j = i,t = 1,sum = 0;while(t<=k){sum += cal[j];++j;++t;}vect.push_back(sum);}for(auto it : vect){// cout<<it<<" ";if(it<lower) --ans;if(it>upper) ++ans;}return ans;}
};

Leetcode 第152场周赛5174:健身计划评估相关推荐

  1. LeetCode第 227 场周赛题解

    LeetCode第 227 场周赛题解 检查数组是否经排序和轮转得到 原题链接 https://leetcode-cn.com/problems/check-if-array-is-sorted-an ...

  2. LeetCode 第 194 场周赛

    LeetCode 第 194 场周赛 数组异或操作 思路和代码 保证文件名唯一 思路及代码 避免洪水泛滥 思路及代码 找到最小生成树里的关键边和伪关键边 思路及代码 这次周赛比以往难很多. 数组异或操 ...

  3. LeetCode第187场周赛(Weekly Contest 187)解题报告

    差点又要掉分了,还好最后几分钟的时候,绝杀 AK.干巴爹!!! 第一题:思路 + 模拟暴力. 第二题:线性扫描. 第三题:双指针(滑动窗口) + 优先队列. 第四题:暴力每一行最小 k 个 + 优先队 ...

  4. Acwing第72场周赛+Leetcode第314场周赛

    Acwing第72场周赛 第一题:AcWing 4624. 最小值 分析:向下取整可以用到math.h头文件中的floor()函数,最后输出时套用两个min()函数求三个数的最小值即可. 代码: #i ...

  5. Leetcode第 310 场周赛 补打

    Leetcode 第310场周赛 自己赛后打了一下,记录了一下时间,大概15min A 3题,第四题是写不出来,然后学习了一天线段树(真的强). 思路: 1.排序后统计偶数的数目 2.遍历扫一遍,用直 ...

  6. LeetCode第176场周赛(Weekly Contest 176)解题报告

    又是一周掉分之旅,我发现,LeetCode周赛的数据好水,所以有的时候,实在没思路,先暴力解决试试(即使分析出时间复杂度会超时),比如第二题和第三题都可以暴力通过,GG思密达. 这周主要使用了数据结构 ...

  7. Leetcode第321场周赛补题

    Leetcode第321场周赛补题 第一题:6245. 找出中枢整数 - 力扣(LeetCode) 分析:由于数组中是差值为1的等差数列,所以可以直接用等差数列求和公式的朴素法更加简便的解决这题,,其 ...

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

    文章目录 1. 题目 2. 解题 1. 题目 你的好友是一位健身爱好者.前段日子,他给自己制定了一份健身计划.现在想请你帮他评估一下这份计划是否合理. 他会有一份计划消耗的卡路里表,其中 calori ...

  9. [算法]LeetCode第194场周赛202006021

    第194场周赛 20200621 1486. 数组异或操作 题目描述1 给你两个整数,n 和 start . 数组 nums 定义为:nums[i] = start + 2*i(下标从 0 开始)且 ...

最新文章

  1. Java基础--二维数组
  2. 【研究任务】linux系统开机启动过程
  3. opencv 检测几何图形_使用OpenCV + ConvNets检测几何形状
  4. 【Win10】UAP/UWP/通用 开发之 x:Bind
  5. Golang程序性能分析(二)在Echo和Gin框架中使用pprof
  6. 剑指offer (01):赋值运算符函数 (C++ 实现)
  7. 截取文件最后10行_10 行 Python 代码自动清理电脑内重复文件,解放双手
  8. JavaScript的输出(2)
  9. 单刹车信号不合理故障_航班盘旋数十圈返航 天津航空:刹车温度传感器等故障...
  10. 软件各种系统架构图【转】
  11. win7电脑设备序列号怎么查_win7硬盘序列号怎么看|win7查看硬盘序列号的方法
  12. STM32 串口程序下载
  13. unity 制作小汽车跑起来
  14. 互联网+创新创业大赛反思总结
  15. 调整w7计算机屏幕一直亮,win7系统电脑屏幕不休眠保持常亮状态设置的操作方法...
  16. SparkStreaming可视化之Wisp
  17. 缓存面试五连击(下篇)
  18. android平板可以连硬盘,平板电脑可以连接移动硬盘吗 平板电脑连接不上硬盘怎么办...
  19. 优秀程序员的七大特征,你具备几条?
  20. UVA - 12627 - Erratic Expansion(找规律递归)

热门文章

  1. 使用MyBatisPlus实现基本的CRUD操作
  2. CatBoost安装
  3. 亚马逊、Lazada、Shopee、速卖通测评自养号,需要注意什么?卖家该如何运营?
  4. 在苹果电脑的Windows安装mysql
  5. 本文讲解使用apt-get 自动下载安装arm-linux-gcc和arm-linux-g++。
  6. 超详细windows安装并配置mongo数据库
  7. R语言从经济时间序列中用HP滤波器,小波滤波和经验模态分解等提取周期性成分分析
  8. JAVA试题-猜拳游戏
  9. 大学里最“烧钱”的爱好!你不会都占了吧??
  10. 1414 冰雕 (暴力枚举,论据不充分,想当然)