成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

leetcode39 combination sum

luoyibu / 3522人閱讀

摘要:在這道題中,我結合了遞歸的思想來。就是將當前的值作為一個潛在的結果值加入一個結果數(shù)組將數(shù)組作為當前結果傳入下一輪遞歸。

題目要求
Given a set of candidate numbers (C) (without duplicates) and a target number (T), find all unique combinations in C where the candidate numbers sums to T.

The same repeated number may be chosen from C unlimited number of times.

Note:
All numbers (including target) will be positive integers.
The solution set must not contain duplicate combinations.
For example, given candidate set [2, 3, 6, 7] and target 7, 
A solution set is: 
[
  [7],
  [2, 2, 3]
]

一個整數(shù)數(shù)組,數(shù)組中的值不重復,要求在數(shù)組中找到所有的子數(shù)組,子數(shù)組滿足元素的和為目標值的條件

思路和代碼

這道題目有一個標簽是backtracking,即在前一種條件的情況下計算當前條件產(chǎn)生的結果值。在這道題中,我結合了遞歸的思想來。就是將當前的值作為一個潛在的結果值加入一個結果數(shù)組將數(shù)組作為當前結果傳入下一輪遞歸。

public class CombinationSum_39 {
    List> result = new ArrayList>();
    public List> combinationSum(int[] candidates, int target) {
        Arrays.sort(candidates);
        
        for(int i = 0 ; i temp = new ArrayList();
                temp.add(candidates[i]);
                combinationSum(candidates, i, target-candidates[i], temp);

            }
        }
        return result;
    }
    
    public void combinationSum(int[] candidates, int start, int target, List currentResult){
        for(int i = start ; i < candidates.length ; i++){
            if(candidates[i] == target){
                currentResult.add(candidates[i]);
                result.add(currentResult);
                return;
            }
            if(candidates[i] > target){
                return;
            }
            if(candidates[i] < target){
                List temp = new ArrayList();
                temp.addAll(currentResult);
                temp.add(candidates[i]);
                combinationSum(candidates, i, target-candidates[i], temp);
            }
        }
    }
}


想要了解更多開發(fā)技術,面試教程以及互聯(lián)網(wǎng)公司內(nèi)推,歡迎關注我的微信公眾號!將會不定期的發(fā)放福利哦~

文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉載請注明本文地址:http://systransis.cn/yun/70006.html

相關文章

  • leetcode-39-Combination Sum

    摘要:分為每次從里邊循環(huán)所有數(shù),已有值減去所有數(shù),新值作為已有值,繼續(xù)處理。遇到返回保存,負數(shù)去掉 39. Combination SumDescriptionHintsSubmissionsDiscussSolutionGiven a set of candidate numbers (C) (without duplicates) and a target number (T),find...

    Drummor 評論0 收藏0
  • leetcode40 combination sum 2

    摘要:參考思路和非常類似,只是這里需要增加進行重復處理的部分。題目要求題目中新添的要求包括數(shù)組中存在重復值,而且數(shù)組中每個值只可以使用一次。需要注意的是,既然數(shù)組中存在重復的值,就要注意可能會將重復的情況加入結果數(shù)組。 參考 思路和leetcode39 combination sum 非常類似,只是這里需要增加進行重復處理的部分。請參考我對leetcode39進行解答的這篇博客。 題目要求 ...

    Code4App 評論0 收藏0
  • LeetCode偶爾一題 —— 39. Combination Sum(回溯算法系列)

    摘要:輸入輸出分析題目由于我們需要找到多個組合,簡單的使用循環(huán)肯定是不行的,這時候我們可以使用回溯算法來解決這個問題。用回溯算法解決問題的一般步驟針對所給問題,定義問題的解空間,它至少包含問題的一個最優(yōu)解。 題目描述 Given a set of candidate numbers (candidates) (without duplicates) and a target number ...

    linkin 評論0 收藏0
  • leetcode 40 Combination Sum II

    摘要:要求中的每一個元素在一個組合中只能被使用一次。輸入候選數(shù)字集和目標數(shù)字結果集應當是想法首先這道題和題非常的相像。因此和題的解法相比,我們需要進行一次對于重復元素跳過的操作。 題目詳情 Given a collection of candidate numbers (C) and a target number (T), find all unique combinations in C...

    li21 評論0 收藏0
  • Leetcode 相似題只有題號不含代碼。

    找出string里的單詞。 186. Reverse Words in a String II, 434. Number of Segments in a String combination類型題 77. Combinations 39. Combination Sum 40. Combination Sum II 216. Combination Sum III 494. Target S...

    StonePanda 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<