10. Leetcode 209. 长度最小的子数组 (数组-同向双指针-滑动窗口)
生活随笔
收集整理的這篇文章主要介紹了
10. Leetcode 209. 长度最小的子数组 (数组-同向双指针-滑动窗口)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
給定一個含有?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]
輸出:0class Solution:def minSubArrayLen(self, target: int, nums: List[int]) -> int:left, sums, res = 0, 0, float('inf')for right in range(len(nums)):sums += nums[right]while sums >= target:if right - left + 1 < res:res = right - left + 1# left從左向右滑動sums -= nums[left]left += 1return 0 if res == float('inf') else res
總結
以上是生活随笔為你收集整理的10. Leetcode 209. 长度最小的子数组 (数组-同向双指针-滑动窗口)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 9. Leetcode 27. 移除元素
- 下一篇: 11. Leetcode 713. 乘积