//找出该数组中满足其总和大于等于 target 的长度最小的 子数组
func minSubArrayLen(_ target: Int, _ nums: [Int]) -> Int {
//定义变量
var minLength = -1
var sum = 0
//窗口
var start = 0
for end in 0..<nums.count {
//更新变量
sum += nums[end]
if sum >= target {
if minLength == -1 {
minLength = end - start + 1
} else {
minLength = min(minLength, end - start + 1)
}
}
//更新窗口
while sum >= target {
sum -= nums[start]
start += 1
//如果减完之后还是满足题意的,要更新最小值
if sum >= target {
if minLength == -1 {
minLength = end - start + 1
} else {
minLength = min(minLength, end - start + 1)
}
}
}
}
return minLength == -1 ? 0 : minLength
}
leetcode 209. 长度最小的子数组
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
相关阅读更多精彩内容
- 977.有序数组的平方 题目链接https://leetcode.cn/problems/squares-of-a...
- 977.有序数组的平方 ,209.长度最小的子数组,59.螺旋矩阵II ,总结 建议大家先独立做题,然后看视频讲解...
- 977.有序数组的平方 方法1:暴力法 方法2:双指针法 左右指针同时向中间移动 时间复杂度为O(n) 209.长...
- 977. 有序数组的平方[https://leetcode.cn/problems/squares-of-a-so...
- 一 Leetcode 977 有序数组的平方 题目链接:Leetcode 977 有序数组的平方[https://...