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

LeetCode 39. 組合總和(回溯+剪枝)

這篇具有很好參考價(jià)值的文章主要介紹了LeetCode 39. 組合總和(回溯+剪枝)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

題目:

鏈接:LeetCode 39. 組合總和
難度:中等

給你一個(gè) 無(wú)重復(fù)元素 的整數(shù)數(shù)組 candidates 和一個(gè)目標(biāo)整數(shù) target ,找出 candidates 中可以使數(shù)字和為目標(biāo)數(shù) target 的 所有 不同組合 ,并以列表形式返回。你可以按 任意順序 返回這些組合。

candidates 中的 同一個(gè) 數(shù)字可以 無(wú)限制重復(fù)被選取 。如果至少一個(gè)數(shù)字的被選數(shù)量不同,則兩種組合是不同的。

對(duì)于給定的輸入,保證和為 target 的不同組合數(shù)少于 150 個(gè)。

示例 1:

輸入:candidates = [2,3,6,7], target = 7
輸出:[[2,2,3],[7]]
解釋:
2 和 3 可以形成一組候選,2 + 2 + 3 = 7 。注意 2 可以使用多次。
7 也是一個(gè)候選, 7 = 7 。
僅有這兩種組合。

示例 2:

輸入: candidates = [2,3,5], target = 8
輸出: [[2,2,2,2],[2,3,3],[3,5]]

示例 3:

輸入: candidates = [2], target = 1
輸出: []

提示:

  • 1 <= candidates.length <= 30
  • 2 <= candidates[i] <= 40
  • candidates 的所有元素 互不相同
  • 1 <= target <= 40

回溯+剪枝:

詳細(xì)解析看這篇回溯算法秒殺所有排列/組合/子集問(wèn)題,這類題型通殺。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-627613.html

代碼:

class Solution {
public:
    vector<vector<int>> res;
    vector<int> track;
    int trackSum;
    vector<vector<int>> combinationSum(vector<int>& candidates, int target) {
        trackSum = 0;
        backtrack(candidates, 0, target);
        return res;
    }
    void backtrack(vector<int>& candidates, int start, int target) {
        if(trackSum == target) {
            res.emplace_back(track);
            return;
        }
        else if(trackSum > target) return;
        for(int i = start; i < candidates.size(); i++)
        {
            track.emplace_back(candidates[i]);
            trackSum += candidates[i];
            backtrack(candidates, i, target);  // 元素可復(fù)用,所以繼續(xù)從第i位開(kāi)始遍歷
            track.pop_back();
            trackSum -= candidates[i];
        }
    }
};

到了這里,關(guān)于LeetCode 39. 組合總和(回溯+剪枝)的文章就介紹完了。如果您還想了解更多內(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)文章

  • 每日OJ題_DFS回溯剪枝⑨_力扣39. 組合總和(兩種思路)

    每日OJ題_DFS回溯剪枝⑨_力扣39. 組合總和(兩種思路)

    目錄 力扣39. 組合總和 解析代碼1 解析代碼2 39. 組合總和 LCR 081. 組合總和 難度 中等 給你一個(gè)? 無(wú)重復(fù)元素 ?的整數(shù)數(shù)組? candidates ?和一個(gè)目標(biāo)整數(shù)? target ?,找出? candidates ?中可以使數(shù)字和為目標(biāo)數(shù)? target ?的 所有 ? 不同組合 ?,并以列表形式返回。你可以按? 任意順序

    2024年04月28日
    瀏覽(22)
  • leetcode216. 組合總和 III(回溯算法-java)

    leetcode216. 組合總和 III(回溯算法-java)

    來(lái)源:力扣(LeetCode) 鏈接:https://leetcode.cn/problems/combination-sum-iii 找出所有相加之和為 n 的 k 個(gè)數(shù)的組合,且滿足下列條件: 只使用數(shù)字1到9 每個(gè)數(shù)字 最多使用一次 返回 所有可能的有效組合的列表 。該列表不能包含相同的組合兩次,組合可以以任何順序返回。 示例 1: 輸

    2024年02月10日
    瀏覽(20)
  • 【算法】遞歸、回溯、剪枝、dfs 算法題練習(xí)(組合、排列、總和問(wèn)題;C++)

    【算法】遞歸、回溯、剪枝、dfs 算法題練習(xí)(組合、排列、總和問(wèn)題;C++)

    后面的練習(xí)是接著下面鏈接中的文章所繼續(xù)的,在對(duì)后面的題練習(xí)之前,可以先將下面的的文章進(jìn)行了解??: 【算法】{畫(huà)決策樹(shù) + dfs + 遞歸 + 回溯 + 剪枝} 解決排列、子集問(wèn)題(C++) 思路 題意分析 :要求根據(jù)給出的數(shù)字,算出合法的括號(hào)組成個(gè)數(shù)。根據(jù)題目,我們可以總

    2024年02月22日
    瀏覽(24)
  • LeetCode 39題:組合總和

    目錄 題目 代碼 官方提供 給定一個(gè)候選人編號(hào)的集合? candidates ?和一個(gè)目標(biāo)數(shù)? target ?,找出? candidates ?中所有可以使數(shù)字和為? target ?的組合。 candidates ?中的每個(gè)數(shù)字在每個(gè)組合中只能使用? 一次 ?。 注意: 解集不能包含重復(fù)的組合。? 示例?1: 示例?2: 提示: 1 =?can

    2024年02月12日
    瀏覽(18)
  • 【LeetCode】39.組合總和

    給你一個(gè)? 無(wú)重復(fù)元素 ?的整數(shù)數(shù)組? candidates ?和一個(gè)目標(biāo)整數(shù)? target ?,找出? candidates ?中可以使數(shù)字和為目標(biāo)數(shù)? target ?的 所有 ? 不同組合 ?,并以列表形式返回。你可以按? 任意順序 ?返回這些組合。 candidates ?中的? 同一個(gè) ?數(shù)字可以? 無(wú)限制重復(fù)被選取 ?。如果

    2024年02月16日
    瀏覽(20)
  • LeetCode(力扣)39. 組合總和Python

    LeetCode(力扣)39. 組合總和Python

    https://leetcode.cn/problems/combination-sum/description/

    2024年02月09日
    瀏覽(16)
  • 【力扣】216. 組合總和 III <回溯、回溯剪枝>

    【力扣】216. 組合總和 III <回溯、回溯剪枝>

    找出所有相加之和為 n 的 k 個(gè)數(shù)的組合,且滿足下列條件: 只使用數(shù)字 1 到 9,每個(gè)數(shù)字最多使用一次,返回所有可能的有效組合的列表 。該列表不能包含相同的組合兩次,組合可以以任何順序返回。 示例 1: 輸入: k = 3, n = 7 輸出: [[1,2,4]] 解釋: 1 + 2 + 4 = 7 沒(méi)有其他符合的組合

    2024年02月10日
    瀏覽(18)
  • 算法沉淀——窮舉、暴搜、深搜、回溯、剪枝綜合練習(xí)一(leetcode真題剖析)

    算法沉淀——窮舉、暴搜、深搜、回溯、剪枝綜合練習(xí)一(leetcode真題剖析)

    題目鏈接:https://leetcode.cn/problems/permutations/ 給定一個(gè)不含重復(fù)數(shù)字的數(shù)組 nums ,返回其 所有可能的全排列 。你可以 按任意順序 返回答案。 示例 1: 示例 2: 示例 3: 提示: 1 = nums.length = 6 -10 = nums[i] = 10 nums 中的所有整數(shù) 互不相同 思路 這是一個(gè)典型的回溯問(wèn)題,需要在每

    2024年02月21日
    瀏覽(23)
  • 【算法與數(shù)據(jù)結(jié)構(gòu)】377、LeetCode組合總和 Ⅳ

    【算法與數(shù)據(jù)結(jié)構(gòu)】377、LeetCode組合總和 Ⅳ

    所有的LeetCode題解索引,可以看這篇文章——【算法和數(shù)據(jù)結(jié)構(gòu)】LeetCode題解。 ?? 思路分析 :本題明面上說(shuō)是組合,實(shí)際上指的是排列。動(dòng)態(tài)規(guī)劃排列組合背包問(wèn)題需要考慮遍歷順序。 d p [ i ] dp[i] d p [ i ] 指的是nums數(shù)組中總和為target的元素排列的個(gè)數(shù)。 d p [ i ] dp[i] d p [

    2024年01月23日
    瀏覽(26)
  • leetcode77. 組合(回溯算法-java)

    leetcode77. 組合(回溯算法-java)

    來(lái)源:力扣(LeetCode) 鏈接:https://leetcode.cn/problems/combinations 給定兩個(gè)整數(shù) n 和 k,返回范圍 [1, n] 中所有可能的 k 個(gè)數(shù)的組合。 你可以按 任何順序 返回答案。 示例 1: 輸入:n = 4, k = 2 輸出: [ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4], ] 示例 2: 輸入:n = 1, k = 1 輸出:[[1]] 提示:

    2024年02月11日
    瀏覽(19)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包