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

【算法|滑動(dòng)窗口No.1】leetcode209. 長(zhǎng)度最小的子數(shù)組

這篇具有很好參考價(jià)值的文章主要介紹了【算法|滑動(dòng)窗口No.1】leetcode209. 長(zhǎng)度最小的子數(shù)組。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

個(gè)人主頁(yè):兜里有顆棉花糖
歡迎 點(diǎn)贊?? 收藏? 留言? 加關(guān)注??本文由 兜里有顆棉花糖 原創(chuàng)
收錄于專欄【手撕算法系列專欄】【LeetCode】
??本專欄旨在提高自己算法能力的同時(shí),記錄一下自己的學(xué)習(xí)過(guò)程,希望對(duì)大家有所幫助
??希望我們一起努力、成長(zhǎng),共同進(jìn)步。
【算法|滑動(dòng)窗口No.1】leetcode209. 長(zhǎng)度最小的子數(shù)組,LeetCode,手撕算法系列專欄,算法,leetcode,滑動(dòng)窗口

點(diǎn)擊直接跳轉(zhuǎn)到該題目

1??題目描述

給定一個(gè)含有 n 個(gè)正整數(shù)的數(shù)組和一個(gè)正整數(shù) target 。

找出該數(shù)組中滿足其總和大于等于 target 的長(zhǎng)度最小的 連續(xù)子數(shù)組 [nums[l], nums[l+1], ..., nums[r-1], nums[r]] ,并返回其長(zhǎng)度。如果不存在符合條件的子數(shù)組,返回 0 。

示例1:

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

示例2:

輸入:target = 4, nums = [1,4,4]
輸出:1

示例3:

輸入:target = 11, nums = [1,1,1,1,1,1,1,1]
輸出:0

注意:

  • 1 <= target <= 10^9
  • 1 <= nums.length <= 10^5
  • 1 <= nums[i] <= 10^5

2??算法分析

解題思路如下:

  • 步驟一:使用雙指針left和right來(lái)構(gòu)建滑動(dòng)窗口,初始時(shí)left和right都為0。
  • 步驟二:進(jìn)入循環(huán),將右指針right向右移動(dòng),每次將nums[right]的值加到sum中。
  • 步驟三:進(jìn)入while循環(huán),判斷當(dāng)前窗口內(nèi)的和sum是否大于等于目標(biāo)值target。如果是,則更新ret為最小值,即min(ret, right - left + 1);然后將左指針left向右移動(dòng),并從sum中減去nums[left]。
  • 然后循環(huán)步驟二和步驟三,直到右指針right達(dá)到數(shù)組的末尾最后返回結(jié)果即可。

3??代碼編寫

class Solution {
public:
    int minSubArrayLen(int target, vector<int>& nums) {
        int n = nums.size();
        int ret = INT_MAX, sum = 0;
        for(int left = 0,right = 0;right < n;right++)
        {
            // 進(jìn)窗口
            sum += nums[right];

            while(sum >= target)
            {
                // 更新結(jié)果
                ret = min(ret,right - left + 1);

                // 出窗口
                sum -= nums[left++];
            }
        }
        return ret == INT_MAX ? 0 : ret;
    }
};

最后就是通過(guò)啦!??!

【算法|滑動(dòng)窗口No.1】leetcode209. 長(zhǎng)度最小的子數(shù)組,LeetCode,手撕算法系列專欄,算法,leetcode,滑動(dòng)窗口文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-720837.html

到了這里,關(guān)于【算法|滑動(dòng)窗口No.1】leetcode209. 長(zhǎng)度最小的子數(shù)組的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • java數(shù)據(jù)結(jié)構(gòu)與算法刷題-----LeetCode209. 長(zhǎng)度最小的子數(shù)組

    java數(shù)據(jù)結(jié)構(gòu)與算法刷題-----LeetCode209. 長(zhǎng)度最小的子數(shù)組

    java數(shù)據(jù)結(jié)構(gòu)與算法刷題目錄(劍指Offer、LeetCode、ACM)-----主目錄-----持續(xù)更新(進(jìn)不去說(shuō)明我沒(méi)寫完): https://blog.csdn.net/grd_java/article/details/123063846 解題思路 代碼:時(shí)間復(fù)雜度O(n).空間復(fù)雜度O(1)

    2024年01月21日
    瀏覽(96)
  • 【LeetCode209】 長(zhǎng)度最小的子數(shù)組

    滑動(dòng)窗口型雙指針 給定一個(gè)含有 n 個(gè)正整數(shù)的數(shù)組和一個(gè)正整數(shù) target 。 找出該數(shù)組中滿足其總和大于等于 target 的長(zhǎng)度最小的 連續(xù)子數(shù)組 [numsl, numsl+1, …, numsr-1, numsr] ,并返回其長(zhǎng)度。如果不存在符合條件的子數(shù)組,返回 0 。 示例 1: 輸入:target = 7, nums = [2,3,1,2,4,3] 輸出

    2024年01月23日
    瀏覽(27)
  • 【Leetcode】209. 長(zhǎng)度最小的子數(shù)組

    【Leetcode】209. 長(zhǎng)度最小的子數(shù)組

    給定一個(gè)含有?n?個(gè)正整數(shù)的數(shù)組和一個(gè)正整數(shù)?s ,找出該數(shù)組中滿足其和 ≥ s 的長(zhǎng)度最小的 連續(xù) 子數(shù)組,并返回其長(zhǎng)度。如果不存在符合條件的子數(shù)組,返回 0。 示例: 輸入:s = 7, nums = [2,3,1,2,4,3] 輸出:2 解釋:子數(shù)組?[4,3]?是該條件下的長(zhǎng)度最小的子數(shù)組。 提示:

    2024年02月13日
    瀏覽(26)
  • leetcode-209.長(zhǎng)度最小的子數(shù)組
  • leetcode 70.爬樓梯+209.長(zhǎng)度最小的子數(shù)組

    70. 爬樓梯 - 力扣(LeetCode) 題目: 假設(shè)你正在爬樓梯。需要? n ?階你才能到達(dá)樓頂。 每次你可以爬? 1 ?或? 2 ?個(gè)臺(tái)階。你有多少種不同的方法可以爬到樓頂呢? ?示例: ? 輸入: n = 3 輸出: 3 解釋: 有三種方法可以爬到樓頂。 1. 1 階 + 1 階 + 1 階 2. 1 階 + 2 階 3. 2 階 +

    2024年02月03日
    瀏覽(30)
  • ( 數(shù)組) 209. 長(zhǎng)度最小的子數(shù)組——【Leetcode每日一題】

    ( 數(shù)組) 209. 長(zhǎng)度最小的子數(shù)組——【Leetcode每日一題】

    難度:中等 給定一個(gè)含有 n 個(gè)正整數(shù)的數(shù)組和一個(gè)正整數(shù) target 。 找出該數(shù)組中滿足其和 ≥ target 的長(zhǎng)度最小的 連續(xù)子數(shù)組 [numsl, numsl+1, ..., numsr-1, numsr] ,并返回其長(zhǎng)度。如果不存在符合條件的子數(shù)組,返回 0 。 示例 1: 輸入:target = 7, nums = [2,3,1,2,4,3] 輸出:2 解釋:子數(shù)

    2024年02月06日
    瀏覽(30)
  • 【代碼隨想錄-Leetcode第六題:209. 長(zhǎng)度最小的子數(shù)組】

    【代碼隨想錄-Leetcode第六題:209. 長(zhǎng)度最小的子數(shù)組】

    給定一個(gè)含有 n 個(gè)正整數(shù)的數(shù)組和一個(gè)正整數(shù) target 。 找出該數(shù)組中滿足其和 ≥ target 的長(zhǎng)度最小的 連續(xù)子數(shù)組 [numsl, numsl+1, …, numsr-1, numsr] ,并返回其長(zhǎng)度。如果不存在符合條件的子數(shù)組,返回 0 。 參考【代碼隨想錄】 示例 1: 示例 3: 提示: 1 = target = 109 1 = nums.length

    2024年02月12日
    瀏覽(26)
  • 滑動(dòng)窗口實(shí)例1(長(zhǎng)度最小的子數(shù)組)

    滑動(dòng)窗口實(shí)例1(長(zhǎng)度最小的子數(shù)組)

    給定一個(gè)含有? n ? 個(gè)正整數(shù)的數(shù)組和一個(gè)正整數(shù)? target ?。 找出該數(shù)組中滿足其和 ? ≥ target ? 的長(zhǎng)度最小的? 連續(xù)子數(shù)組 ? [numsl, numsl+1, ..., numsr-1, numsr] ?,并返回其長(zhǎng)度 。 如果不存在符合條件的子數(shù)組,返回? 0 ?。 示例 1: 示例 2: 示例 3: 提示: 1 = target = 109 1 =

    2024年02月11日
    瀏覽(18)
  • Leetcode 977-有序數(shù)組的平方 | LeetCode209-長(zhǎng)度最小的子數(shù)組 | Leetcode59-螺旋矩陣

    給你一個(gè)按 非遞減順序 排序的整數(shù)數(shù)組 nums,返回 每個(gè)數(shù)字的平方 組成的新數(shù)組,要求也按 非遞減順序 排序。 思考: 這個(gè)數(shù)組為有序數(shù)組,那么即使前面有負(fù)的,數(shù)組平方的最大值只能是在數(shù)組的倆端,不是在左邊就是右邊,不可能是在中間 由此想到雙指針做法,left從

    2024年02月16日
    瀏覽(28)
  • LeetCode977.有序數(shù)組的平方 ,209.長(zhǎng)度最小的子數(shù)組 ,59.螺旋矩陣II

    LeetCode977.有序數(shù)組的平方 思路: ? ? ? ? 雙指針應(yīng)用 ? ? ? ? 因?yàn)閿?shù)組是有序的,數(shù)組中可能存在負(fù)數(shù),所以其平方的最大值只可能是數(shù)組的頭或尾,因此可以定義兩個(gè)指針,i指向頭,j指向尾。同時(shí)定義一個(gè)新數(shù)組result,讓k指向新數(shù)組的最后一個(gè)元素,當(dāng)nums[i] * nums[i]

    2023年04月21日
    瀏覽(23)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包