leetcode209. 长度最小的子数组 借这个题规范一下双指针写法
生活随笔
收集整理的這篇文章主要介紹了
leetcode209. 长度最小的子数组 借这个题规范一下双指针写法
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
給定一個(gè)含有?n?個(gè)正整數(shù)的數(shù)組和一個(gè)正整數(shù)?s ,找出該數(shù)組中滿足其和 ≥ s 的長(zhǎng)度最小的連續(xù)子數(shù)組。如果不存在符合條件的連續(xù)子數(shù)組,返回 0。
示例:?
輸入: s = 7, nums = [2,3,1,2,4,3]
輸出: 2
解釋: 子數(shù)組?[4,3]?是該條件下的長(zhǎng)度最小的連續(xù)子數(shù)組。
進(jìn)階:
如果你已經(jīng)完成了O(n) 時(shí)間復(fù)雜度的解法, 請(qǐng)嘗試?O(n log n) 時(shí)間復(fù)雜度的解法。
思路:雙指針
這個(gè)題我規(guī)范了一下代碼怎么寫(xiě):
這是第一遍:
這是改規(guī)范之后:
class Solution {public int minSubArrayLen(int s, int[] nums) {int len=nums.length;if(len==0)return 0;int ans=len+1;int sum=0;int begin=0;int end=0;while(end<len){sum+=nums[end++];while(sum>=s){if(ans>end-begin)ans=end-begin;sum-=nums[begin++];}}return ans==len+1?0:ans;} }?
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的leetcode209. 长度最小的子数组 借这个题规范一下双指针写法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: leetcode330. 按要求补齐数组
- 下一篇: 深搜DFS\广搜BFS 图初步入门