题目:

给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的连续子数组,并返回其长度。如果不存在符合条件的连续子数组,返回 0。



思路:

非常明显用滑动窗口处理

时间复杂度O(n)



代码:

public int minSubArrayLen(int s, int[] nums) {
int n = nums.length;
if(n == 0){
return 0;
}
int lo = 0;
int hi = 0;
int sum = 0;
int res = Integer.MAX_VALUE;
for(int i = 0;i<n;i++){
sum += nums[i];
hi++;
if(sum>=s){
res = res<=hi-lo?res:hi-lo;
while(sum>=s){
res = res<=hi-lo?res:hi-lo;
sum -= nums[lo++];
}
}
}
return res+1<0?0:res;
}

法二:前缀数组+二分查找

法三:双指针(道理同法一)

最新文章

  1. Virtual Box 下Ubuntu桥接网络设置
  2. IPython, Notebook, NumPy, SciPy, matplotlib 和其它
  3. C#设置字体(FontDIalog)、颜色(ColorDialog)对话框控件
  4. Editplus配置VC++(1) 及相关注意事项
  5. Python 上传和更新函数模块到PyPI
  6. mysql 常用sql操作语句
  7. ASDL + WN725N 配置无线AP
  8. Android_Toast
  9. 【BZOJ 3529】 [Sdoi2014]数表 (莫比乌斯+分块+离线+树状数组)
  10. Visual Studio 调试技巧 (三) -- 调试第三方组件代码
  11. 使用AsyncHttpClient碰到的问题及解决方法
  12. (困难) CF 484E Sign on Fence,整体二分+线段树
  13. python中input()与raw_input()的区别到底是啥?-----marsggbo原创作品为你解答
  14. 探索Windows命令行系列(5):几个实用的命令例解
  15. Apache服务器安装-apache已经卸载,如何删除注册在系统的服务
  16. 优先级队列用法详解(priority_queue)
  17. Servlet&#160;CDI&#160;Example&#160;Analysis
  18. R8500 MPv2 版本 刷 Kong编译的 ddwrt 后,使用Entware-ng 安装opkg安装第三方软件
  19. 物联网架构成长之路(22)-Docker练习之Etcd服务搭建
  20. 登录iOS Dev Center

热门文章

  1. PyQt(Python+Qt)学习随笔:Qt Designer中spacer部件的sizeHint属性
  2. bugkuctf 这 是 一 个 神 奇 的 登 录 界 面
  3. 第六篇 Scrum 冲刺博客
  4. js原生方法filter实现
  5. 支付宝小程序input的小坑
  6. 利用神经网络算法的C#手写数字识别(二)
  7. LibreOj-10012-「一本通-1-2-例-2」Best-Cow-Fences
  8. Spark3.0中Dates和Timestamps
  9. 数据结构—— Trie (前缀树)
  10. mysql创建表分区