LeetCode 209. 长度最小的子数组(Minimum Size Subarray Sum)
2024-08-30 18:38:25
题目描述
给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的连续子数组。如果不存在符合条件的连续子数组,返回 0。
示例:
输入:s = 7, nums = [2,3,1,2,4,3]
输出: 2
解释: 子数组[4,3]
是该条件下的长度最小的连续子数组。
解题思路
记录当前的连续子数组和,若大于等于s,则以当前子数组的最左端为基准向后遍历,若去掉此数后当前连续子数组和仍大于等于s,就把左端向右移动一位,否则更新当前的最小连续子数组长度。
代码
class Solution {
public:
int minSubArrayLen(int s, vector<int>& nums) {
int minCnt = INT_MAX, left = , right = , sum = ;
while(right < nums.size()){
sum += nums[right];
if(sum >= s){
while(left < right && sum - nums[left] >= s)
sum -= nums[left++];
minCnt = min(minCnt, right - left + );
}
right++;
}
if(minCnt == INT_MAX) return ;
return minCnt;
}
};
最新文章
- web前端之HTML的前世今生
- es6 import export 与 node 中的module.exports exports
- 关于H5本部缓存localStorage,sessionStorage
- 阿里云Ubuntu 14.04 + Nginx + let&#39;s encrypt 搭建https访问
- 优酷土豆2014校园招聘笔试题目之Java开发类
- js判断手机还是pc并跳转相关页面
- Leetcode#140 Word Break II
- Duplicate Symbol链接错的原因总结和解决方法-b
- 路徑 z
- Flex 事件机制
- linux mysql-server和mysql-client
- CSS3 Media Queries 详解
- 基于MDK编程STM32程序无法使用,硬件仿真在汇编窗口看到停留在“0x0800XXXX BEAB BKPT 0xAB //进入调试模式”
- phpexcel导出成绩表
- 【WC2013】糖果公园 [树上莫队]
- BASE64加解密
- 洛谷 P2812 校园网络【[USACO]Network of Schools加强版】 解题报告
- Javascript 面向对象编程(一):封装 作者:yuan一峰
- Excel列名和列序号转换
- 转载:C++函数中new一块内存,作为返回值
热门文章
- 简单记录一次注入到shell
- Thymeleaf 模板
- VUe键盘修饰符及自定义指令获取焦点
- Django之form表单详解
- java--动态代理设计模式,CGLIB实现的动态代理设计模式
- 助教培训第四次作业——熟练掌握GitHub及Git的使用方法
- JVM系列一:虚拟机内存区域
- machine learning(10) -- classification:logistic regression cost function 和 使用 gradient descent to minimize cost function
- JQgrid处理json数据
- C#获取资源文件