LeetCode minSubArrayLen Python3

題目描述: 給定一個含有 n 個正整數的數組和一個正整數 s ,找出數組中滿足其和 ≥ s 的長度最小的連續子數組的長度。如果不存在符合條件的連續子數組,返回 0

示例:
輸入: s = 7, nums = [2,3,1,2,4,3]
輸出: 2

這道題是一道典型的雙指針滑動窗口的題目,記錄一下:

def minSubArrayLen(s, nums):
	if not nums:
		return 0
	start, end = 0, 0
	temp = 0
	ans = float('inf')
	while end < len(nums):
		temp += nums[end]
		end += 1
		while temp >= s:
			ans = min(ans, end-start)
			temp -= nums[start]
			start += 1
	if ans == float('inf'): return 0
	return ans
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章