#4466. 长度最小的子数组

长度最小的子数组

题目描述

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

找出该数组中满足其总和大于等于 target 的长度最小的  [numsl,numsl+1,...,numsr1,numsr][nums_l, nums_{l+1}, ..., nums_{r-1}, nums_r] ,并返回其长度。如果不存在符合条件的子数组,返回 0

输入格式

第一行,两个空格隔开的正整数 nntargettarget

第二行,nn 个整数表示数组中的数,中间空格隔开。

输出格式

一行一个整数,表示答案。

样例

样例 1:

6 7
2 3 1 2 4 3
2

解释:

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

样例 2:

3 4
1 4 4
1

样例 3:

8 11
1 1 1 1 1 1 1 1
0

提示:

  • 1<=target<=1091 <= target <= 10^9
  • 1<=n<=1051 <= n <= 10^5
  • 1<=nums[i]<=1041 <= nums[i] <= 10^4

进阶:

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