LeetCode209長度最小的子數(shù)組 及3號問題無重復(fù)字符的最長子串 滑動窗口思想

給定一個含有n?個正整數(shù)的數(shù)組和一個正整數(shù)s ,找出該數(shù)組中滿足其和?≥ s?的長度最小的連續(xù)子數(shù)組。如果不存在符合條件的連續(xù)子數(shù)組,返回 0。

示例:?

輸入:s = 7, nums = [2,3,1,2,4,3]輸出:2解釋: 子數(shù)組[4,3]是該條件下的長度最小的連續(xù)子數(shù)組。

進階:

如果你已經(jīng)完成了O(n) 時間復(fù)雜度的解法, 請嘗試O(n?log?n) 時間復(fù)雜度的解法

題目

class Solution {

public:

? ? //時間復(fù)雜度O(n)

? ? //空間復(fù)雜度O(1)

? ? int minSubArrayLen(int s, vector<int>& nums) {

? ? ? ? int l=0,r=-1;//nums[l...r]為我們的滑動窗口

? ? ? ? int sum=0;

? ? ? ? int res=nums.size()+1;//這是為了以后取最小值,這個初始化的值顯然不可能取到

? ? ? ? while(l<nums.size()){

? ? ? ? ? ? if(r+1<nums.size()&&sum<s){ //r+1<nums.size()是為了防止越界

? ? ? ? r++;

? ? ? ? sum+=nums[r];

? ? ? ? ? ? }

? ? ? ? else{

? ? ? ? ? ? sum-=nums[l];

? ? ? ? ? ? l++;}

? ? ? ? if(sum>=s)

? ? ? ? ? ? res=min(res,r-l+1);

? ? ? ? }

? ? ? if(res==nums.size()+1)

? ? ? ? ? return 0;

? ? ? ? return res;

? ? }

};


滑動窗口思想

給定一個字符串,找出不含有重復(fù)字符的最長子串的長度。

示例?1:

輸入: "abcabcbb"輸出: 3解釋:無重復(fù)字符的最長子串是"abc",其長度為 3。

示例 2:

輸入: "bbbbb"輸出: 1解釋: 無重復(fù)字符的最長子串是"b",其長度為 1。

示例 3:

輸入: "pwwkew"輸出: 3解釋: 無重復(fù)字符的最長子串是"wke",其長度為 3。?? ? 請注意,答案必須是一個子串,"pwke"是一個子序列 而不是子串


無重復(fù)字符的最長子串

class Solution {

public:

? ? int lengthOfLongestSubstring(string s) {

? ? ? ? int freq[256]={0};//這是設(shè)個計數(shù)器,里面裝ascal碼,如果出現(xiàn)就加一

? ? ? ? ? int l=0,r=-1;//nums[l...r]為我們的滑動窗口

? ? ? ? int res=0;

? ? ? ? while(l<s.size()){

? ? ? ? ? ? if(r+1<s.size()&&freq[s[r+1]]==0){//設(shè)的flag為

? ? ? ? ? ? ? ? r++;

? ? ? ? ? ? ? ? freq[s[r]]++;//這時都是窗口右邊界滑動

? ? ? ? ? ? }

? ? ? ? ? ? else{

? ? ? ? ? ? ? ? freq[s[l]]--;//這樣就表示遇到相同的一個字母,重置,計數(shù)器--窗口左邊界滑動

? ? ? ? ? ? l++;

? ? ? ? ? ? }

? ? ? ? ? ? res=max(res,r-l+1);

? ? ? ? }

? ? ? ? return res;

? ? }

};

解答

類似的題還有LeetCode里438和76(較難)道題。可以使用滑動窗口思想。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 人真的很多時候是念想的傀儡,有怎樣的想法,就有怎樣的人生。我之前一直不太喜歡騎車,天氣冷了熱了都不方便,無奈條件所...
    胡素冉閱讀 198評論 0 1
  • 修為自然,自然修為。櫛風(fēng)沐雨,清澈明目;百轉(zhuǎn)千回,素淡明心。我身在江南,就讓江南的陽光賦予我暖意,就讓江南...
    冰夫閱讀 118評論 0 0
  • 楊云霞 梨花是春天潔凈的靈魂,它們不攀高躋身白云的曬場,也不用鋪張綠葉的背景,有藍(lán)天為鏡,黃土恩濟,就足以把身世檢...
    大可霞閱讀 655評論 0 2
  • 光陰如若長歡笑,憑誰請圣教?三界留存屬瘋狂,此去有佛相攝入壇場。 猶憐慧少曾多苦,難解高僧語。沿途景物已臨春,化解...
    宗定法師閱讀 699評論 2 9

友情鏈接更多精彩內(nèi)容