組合一組合二
組合三三題的詳細題解鏈結裡面很多,不懂就過去看
題目:給定兩個整數 n 和 k,返回 1 … n 中所有可能的 k 個數的組合。
這個題用回溯解決,所以就有了模板,直接上**。
class
solution
for(
int i=startindex; i<=n; i++)}
public
: vector
int>>
combine
(int n,
int k)
};
給定乙個陣列 candidates 和乙個目標數 target ,找出 candidates 中所有可以使數字和為 target 的組合。新增條件candidates 中的每個數字在每個組合中只能使用一次。
說明:所有數字(包括目標數)都是正整數。
解集不能包含重複的組合。
示例 1:
輸入: candidates = [10,1,2,7,6,1,5], target = 8,
所求解集為:
[[1, 7],
[1, 2, 5],
[2, 6],
[1, 1, 6]
]這個題也是回溯,模板繼續套用,但是多了一些剪枝條件
class
solution
for(
int i=rus;i
size()
;i++)}
vector
int>>
combinationsum2
(vector<
int>
& candidates,
int target)
};
找出所有相加之和為 n 的 k 個數的組合。組合中只允許含有 1 - 9 的正整數,並且每種組合中不存在重複的數字。
說明:所有數字都是正整數。
解集不能包含重複的組合。
示例 1:
輸入: k = 3, n = 7
輸出: [[1,2,4]]
這個依然是回溯,大的模板一致,也就是引數的變化和一些剪枝
class
solution
for(
int i=pos;i<
10;i++)}
vector
int>>
combinationsum3
(int k,
int n)
};
筆記比較簡略,不懂就回去看題 做題記錄 ZJOI2014 力
給出 n 個數 q 1,q 2,dots q n 定義 f j sum frac sum frac e i frac 對 1 leq i leq n 求 e i 的值。f j sum frac sum frac 即求 e i frac sum i frac sum n frac 令 x i dfra...
力扣刷題記錄05
題目分類 二分查詢 時間 2020 09 09 題目一 兩數之和 兩數之和 ii 輸入有序陣列 給定乙個已按照公升序排列 的有序陣列,找到兩個數使得它們相加之和等於目標數。函式應該返回這兩個下標值 index1 和 index2,其中 index1 必須小於 index2。說明 返回的下標值 ind...
力扣刷題記錄2
第一題是每日一題的簡單題。需要記的並不多,一是用迭代器對vector的一些基本操作。可以參考這裡 for vector iterator iter num.begin iter num.end iter 另外是快排的思想。這種思想實用性很廣,即使不需要排序,在找出最大的k個數,對陣列進行分割 以中間...