国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

算法刷題營【Day2】:: 雙指針?biāo)惴☉?yīng)用:滑動窗口 :209. 長度最小的子數(shù)組

這篇具有很好參考價(jià)值的文章主要介紹了算法刷題營【Day2】:: 雙指針?biāo)惴☉?yīng)用:滑動窗口 :209. 長度最小的子數(shù)組。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

本內(nèi)容是筆者結(jié)合《代碼隨想錄》總結(jié)所得,記錄學(xué)習(xí)過程,分享知識!


目錄:
1. 開篇例題:209. 長度最小的子數(shù)組
2. 題解參考

- - 2.1 方法一:暴力法
- - 2.2 方法二:滑動窗口

3. 方法思路點(diǎn)撥:滑動窗口

- - 3.1 直白解釋
- - 3.2 本題思路點(diǎn)撥

4. 相關(guān)題集


1. 開篇例題:209. 長度最小的子數(shù)組

例題:點(diǎn)擊直飛

算法刷題營【Day2】:: 雙指針?biāo)惴☉?yīng)用:滑動窗口 :209. 長度最小的子數(shù)組


2. 題解參考

2.1 方法一:暴力法
class Solution {
public:
    int minSubArrayLen(int target, vector<int>& nums) {
        // 雙循環(huán)暴力法
        int sum = 0;
        int res = INT32_MAX;
        int len = 0;
        for(int i = 0;i<nums.size();i++){   // 設(shè)置子數(shù)組起始點(diǎn)
            sum = 0;
            for(int j = i;j<nums.size();j++){   // 探索子數(shù)組終點(diǎn)
                sum += nums[j];
                if(sum >= target){
                    len = j-i+1;                // 子列長度
                    res = res > len?len:res;
                    break;
                }
            }
        }
        return res == INT32_MAX? 0:res;
    }
};
2.2 方法二:滑動窗口
class Solution {
public:
    int minSubArrayLen(int target, vector<int>& nums) {
        // 滑動窗口
        int res = INT32_MAX;
        int len = 0;            // 子數(shù)列長度
        int i =0;               // 子列起始位
        int sum = 0;
        for(int j = 0; j<nums.size() ;j++){
            sum += nums[j];
            while(sum >= target){       // 核心代碼
                len = j-i+1;            // 獲取合法子數(shù)列長度
                res = res > len ? len : res;
                sum -= nums[i++];          
                // 子列起始位長度調(diào)整,改寫法規(guī)避了可能單次移動遇到負(fù)數(shù)引起的重復(fù)操作!
            }
        }
        return res == INT32_MAX?0:res;
    }
};

3. 方法思路點(diǎn)撥:滑動窗口

3.1 雙指針?biāo)惴☉?yīng)用:滑動窗口

滑動窗口的思路即:使用兩個(gè)指針維護(hù)一個(gè)區(qū)間【通常是左閉右閉區(qū)間】,這區(qū)間具有可變性,類似與二分法中的邊界重定向,使得區(qū)間減小。
但此處的滑動窗口顯然高級:可變大、可變??!【窗口大小依據(jù)問題情景而定】(如下圖)

算法刷題營【Day2】:: 雙指針?biāo)惴☉?yīng)用:滑動窗口 :209. 長度最小的子數(shù)組

3.2 本題思路點(diǎn)撥

依據(jù)題設(shè),我們需要找到一個(gè)區(qū)間,該區(qū)間內(nèi)的元素之和滿足不小于指定值。同時(shí)需要滿足:找到的區(qū)間是最小的。
此題即可使用滑動窗口去探索最小區(qū)間!

4. 相關(guān)題集

待選中文章來源地址http://www.zghlxwxcb.cn/news/detail-442205.html

到了這里,關(guān)于算法刷題營【Day2】:: 雙指針?biāo)惴☉?yīng)用:滑動窗口 :209. 長度最小的子數(shù)組的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 刷題(雙指針?biāo)枷?滑動窗口思想/l螺旋矩陣)

    剛開始自己做就是無腦ac的,sort: 但是時(shí)間復(fù)雜度有問題, 是O(nlogn)的時(shí)間復(fù)雜度 提升:用雙指針的思想:時(shí)間復(fù)雜度為O(n) 使用 雙指針 的思想解決本題的思路: 以數(shù)組 為例: 輸入:nums = [-4,-1,0,3,10] 輸出:[0,1,9,16,100] 因?yàn)檩斎氲臄?shù)組是遞增的,因此,平方后的最大值,只

    2023年04月08日
    瀏覽(17)
  • 【劍指offer刷題記錄 java版】數(shù)組雙指針 之 滑動窗口

    【劍指offer刷題記錄 java版】數(shù)組雙指針 之 滑動窗口

    本系列文章記錄labuladong的算法小抄中劍指offer題目 題目鏈接:https://leetcode.cn/problems/zui-chang-bu-han-zhong-fu-zi-fu-de-zi-zi-fu-chuan-lcof/ 題目鏈接:https://leetcode.cn/problems/MPnaiL/ 題目鏈接:https://leetcode.cn/problems/VabMRr/ 題目鏈接:https://leetcode.cn/problems/wtcaE1/ 題目鏈接:https://leetcode.cn/pr

    2024年02月09日
    瀏覽(27)
  • 【leetcode刷題之路】面試經(jīng)典150題(2)——雙指針+滑動窗口+矩陣

    2 雙指針 2.1 【雙指針】驗(yàn)證回文串 題目地址:https://leetcode.cn/problems/valid-palindrome/description/?envType=study-plan-v2envId=top-interview-150 ??詳見代碼。 2.2 【雙指針】判斷子序列 題目地址:https://leetcode.cn/problems/is-subsequence/description/?envType=study-plan-v2envId=top-interview-150 ??雙指針挨個(gè)遍

    2024年02月19日
    瀏覽(30)
  • 算法刷題營【Day3】:: 鏈表篇:單鏈表結(jié)點(diǎn)刪除思路:一題辨別哨兵結(jié)點(diǎn)的優(yōu)勢(刪除有奇效):203. 移除鏈表元素

    算法刷題營【Day3】:: 鏈表篇:單鏈表結(jié)點(diǎn)刪除思路:一題辨別哨兵結(jié)點(diǎn)的優(yōu)勢(刪除有奇效):203. 移除鏈表元素

    本內(nèi)容是筆者結(jié)合《代碼隨想錄》總結(jié)所得,記錄學(xué)習(xí)過程,分享知識! 目錄: 1. 開篇例題:203. 移除鏈表元素 2. 題解參考 - - 2.1 方法一:原表操作(不含哨兵結(jié)點(diǎn)) - - 2.2 方法二:虛設(shè)哨兵結(jié)點(diǎn)輔助法 - - 2.3 方法三:遞歸法 3. 單鏈表結(jié)點(diǎn)刪除思路 4. 方法思路點(diǎn)撥:原表操

    2024年02月06日
    瀏覽(22)
  • 考研算法35天:三元組的最小距離 【雙指針,滑動窗口,多路歸并】

    考研算法35天:三元組的最小距離 【雙指針,滑動窗口,多路歸并】

    多路歸并;多路歸并算法從理論到應(yīng)用(易懂)_留戀單行路的博客-CSDN博客 多路歸并就是將多個(gè)已經(jīng)歸并排序排好序的數(shù)組再進(jìn)行排序(不一定是通過歸并排序)。 這道題就是一般做法是先通過排序?qū)⑷齻€(gè)數(shù)組排好然后再進(jìn)行三指針求最小。但是我們仔細(xì)考慮一下,如果我們先

    2024年02月12日
    瀏覽(28)
  • 趣味算法:滑動窗口算法的理解與應(yīng)用

    在編程和數(shù)據(jù)結(jié)構(gòu)中,滑動窗口算法是一種常見的解決問題的方法。它主要用于處理涉及連續(xù)或固定長度子數(shù)組、子序列或子字符串的問題。本文將深入探討滑動窗口算法,包括其基本概念、應(yīng)用場景、基本步驟以及具體的Java代碼實(shí)踐。 滑動窗口算法是一種優(yōu)化技巧,主要

    2024年02月11日
    瀏覽(18)
  • 【C刷題】day2

    【C刷題】day2

    1、以下程序段的輸出結(jié)果是( ) A: 12 B: 13 C: 16 D: 以上都不對 【答案】: A 【解析】: 考點(diǎn):轉(zhuǎn)義字符 \\\\表示反斜杠,取消轉(zhuǎn)義的作用 123表示八進(jìn)制的123 t表示水平制表符,相當(dāng)于Tab鍵 這些都是算一個(gè)字符,其他都是單獨(dú)一個(gè)為一個(gè)字符,故為12個(gè) 2、若有以下程序,則運(yùn)

    2024年02月07日
    瀏覽(16)
  • LeetCode刷題記錄——day2

    https://leetcode.cn/problems/product-of-array-except-self/description/?envType=study-plan-v2envId=top-interview-150 問題在于不使用除法并且空間復(fù)雜度為 O(1) ,當(dāng)?shù)谝淮螐念^開始遍歷時(shí)由于不知道后續(xù)數(shù)組元素是什么,所以無法得到答案,而如果當(dāng)知道一個(gè)后續(xù)數(shù)組元素后,又回去更新答案的話,無

    2024年03月20日
    瀏覽(26)
  • 【SQL刷題】Day2----SQL語法基礎(chǔ)查詢

    【SQL刷題】Day2----SQL語法基礎(chǔ)查詢

    Day2----SQL語法基礎(chǔ)查詢 博主昵稱:跳樓梯企鵝 博主主頁面鏈接:博主主頁傳送門 博主專欄頁面連接:專欄傳送門--網(wǎng)路安全技術(shù) 創(chuàng)作初心:本博客的初心為與技術(shù)朋友們相互交流,每個(gè)人的技術(shù)都存在短板,博主也是一樣,虛心求教,希望各位技術(shù)友給予指導(dǎo)。 博主座右銘

    2023年04月08日
    瀏覽(27)
  • 【刷題】滑動窗口入門

    【刷題】滑動窗口入門

    送給大家一句話: 那腦袋里的智慧,就像打火石里的火花一樣,不去打它是不肯出來的?!勘葋?今天我學(xué)習(xí)了滑動窗口的算法思路,接下來請與我一起看看吧?。?! 滑動窗口問題可以說是一種特殊的雙指針問題,通常用于解決以下類型的問題: 連續(xù)子數(shù)組或子字符串

    2024年03月26日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包