给定一个含有 n 个正整数的数组和一个正整数 target 。

找出该数组中满足其和 ≥ target 的长度最小的 连续子数组 [numsl, numsl+1, ..., numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0 。

示例 1:

输入:target = 7, nums = [2,3,1,2,4,3]

输出:2

解释:子数组 [4,3] 是该条件下的长度最小的子数组。

示例 2:

输入:target = 4, nums = [1,4,4]

输出:1

示例 3:

输入:target = 11, nums = [1,1,1,1,1,1,1,1]

输出:0

提示:

1 <= target <= 109

1 <= nums.length <= 105

1 <= nums[i] <= 105

进阶:

如果你已经实现 O(n) 时间复杂度的解法, 请尝试设计一个 O(n log(n)) 时间复杂度的解法。

来源:力扣(LeetCode)

链接:https://leetcode-cn.com/problems/minimum-size-subarray-sum

著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

解析

双指针法,做一个滑动窗口。

public class LC209 {
public static void main(String[] args) {
int[] ints = {1, 2, 3, 4, 5};
int target = 11; //3
System.out.println(minSubArrayLen(target, ints));
} /**
* @param target
* @param nums
* @return
*/
public static int minSubArrayLen(int target, int[] nums) {
int low = 0, high = 0, min = Integer.MAX_VALUE;
int sum = 0;
while (high < nums.length) {
sum = sum + nums[high++];
while (sum >= target) {
min = Math.min(min, high - low);
sum = sum - nums[low++];
}
}
if (min == Integer.MAX_VALUE) return 0;
else return min;
} }

最新文章

  1. linux搭载discuz
  2. React(一)基础点
  3. [BZOJ3991][SDOI2015]寻宝游戏
  4. 百度推出的echarts,制表折线图柱状图饼图等的超级工具(转)
  5. The Suspects 简单的并查集
  6. JTAG的SWD接线方式
  7. fedora 20 install skype
  8. gulp之css,js压缩合并加密替换
  9. [Linux命令]tar命令
  10. Spring学习之常用注解(转)
  11. 关于python抓取google搜索结果的若干问题
  12. Python的TkinterButton做为父窗口
  13. 【从零学习openCV】IOS7根据人脸检测
  14. 最简单的基于FFmpeg的封装格式处理:视音频复用器(muxer)
  15. particles.js在vue上的运用
  16. HDU6278 Just h-index
  17. 2018牛客网暑期ACM多校训练营(第二场)G Transform(二分)
  18. 20165337第七周实验报告《Java面向对象程序设计》
  19. 在Android中使用FFmpeg(android studio环境)
  20. Spring MVC 指导文档解读(二)

热门文章

  1. 聊聊视频中的编解码器,你所不知道的h264、h265、vp8、vp9和av1编解码库
  2. Net中委托之一
  3. springcloud报错-------关于 hystrix 的异常 FallbackDefinitionException:fallback method wasn&#39;t found
  4. js中的函数嵌套和闭包
  5. Centos7.x环境下 安装Diszz
  6. 【SVN】Please execute the &#39;Cleanup&#39; command.
  7. python2,3的区别
  8. Rsync未授权访问
  9. TCP/IP协议 | TCP协议 | UDP协议 | 三次握手四次挥手
  10. bzoj2084/luoguP3501 [Poi2010]Antisymmetry(回文自动机+dp)