“树支” -> ”树枝“

This commit is contained in:
bqlin
2021-12-19 11:54:22 +08:00
parent 440f94447a
commit 9e70fbc528
5 changed files with 9 additions and 9 deletions

View File

@ -128,7 +128,7 @@ if (sum == target) {
我在图中将used的变化用橘黄色标注上可以看出在candidates[i] == candidates[i - 1]相同的情况下:
* used[i - 1] == true说明同一树candidates[i - 1]使用过
* used[i - 1] == true说明同一树candidates[i - 1]使用过
* used[i - 1] == false说明同一树层candidates[i - 1]使用过
**这块去重的逻辑很抽象,网上搜的题解基本没有能讲清楚的,如果大家之前思考过这个问题或者刷过这道题目,看到这里一定会感觉通透了很多!**
@ -137,7 +137,7 @@ if (sum == target) {
```CPP
for (int i = startIndex; i < candidates.size() && sum + candidates[i] <= target; i++) {
// used[i - 1] == true说明同一树candidates[i - 1]使用过
// used[i - 1] == true说明同一树candidates[i - 1]使用过
// used[i - 1] == false说明同一树层candidates[i - 1]使用过
// 要对同一树层使用过的元素进行跳过
if (i > 0 && candidates[i] == candidates[i - 1] && used[i - 1] == false) {
@ -169,7 +169,7 @@ private:
return;
}
for (int i = startIndex; i < candidates.size() && sum + candidates[i] <= target; i++) {
// used[i - 1] == true说明同一树candidates[i - 1]使用过
// used[i - 1] == true说明同一树candidates[i - 1]使用过
// used[i - 1] == false说明同一树层candidates[i - 1]使用过
// 要对同一树层使用过的元素进行跳过
if (i > 0 && candidates[i] == candidates[i - 1] && used[i - 1] == false) {
@ -404,7 +404,7 @@ func backtracking(startIndex,sum,target int,candidates,trcak []int,res *[][]int,
}
if sum>target{return}
//回溯
// used[i - 1] == true说明同一树candidates[i - 1]使用过
// used[i - 1] == true说明同一树candidates[i - 1]使用过
// used[i - 1] == false说明同一树层candidates[i - 1]使用过
for i:=startIndex;i<len(candidates);i++{
if i>0&&candidates[i]==candidates[i-1]&&history[i-1]==false{

View File

@ -65,7 +65,7 @@ private:
return;
}
for (int i = 0; i < nums.size(); i++) {
// used[i - 1] == true说明同一树nums[i - 1]使用过
// used[i - 1] == true说明同一树nums[i - 1]使用过
// used[i - 1] == false说明同一树层nums[i - 1]使用过
// 如果同一树层nums[i - 1]使用过则直接跳过
if (i > 0 && nums[i] == nums[i - 1] && used[i - 1] == false) {
@ -183,7 +183,7 @@ class Solution {
}
//如果同⼀树⽀nums[i]没使⽤过开始处理
if (used[i] == false) {
used[i] = true;//标记同⼀树⽀nums[i]使⽤过,防止同一树重复使用
used[i] = true;//标记同⼀树⽀nums[i]使⽤过,防止同一树重复使用
path.add(nums[i]);
backTrack(nums, used);
path.remove(path.size() - 1);//回溯说明同⼀树层nums[i]使⽤过,防止下一树层重复

View File

@ -55,7 +55,7 @@ private:
void backtracking(vector<int>& nums, int startIndex, vector<bool>& used) {
result.push_back(path);
for (int i = startIndex; i < nums.size(); i++) {
// used[i - 1] == true说明同一树candidates[i - 1]使用过
// used[i - 1] == true说明同一树candidates[i - 1]使用过
// used[i - 1] == false说明同一树层candidates[i - 1]使用过
// 而我们要对同一树层使用过的元素进行跳过
if (i > 0 && nums[i] == nums[i - 1] && used[i - 1] == false) {

View File

@ -50,7 +50,7 @@ for (int i = startIndex; i < candidates.size() && sum + candidates[i] <= target;
我在图中将used的变化用橘黄色标注上可以看出在candidates[i] == candidates[i - 1]相同的情况下:
* used[i - 1] == true说明同一树candidates[i - 1]使用过
* used[i - 1] == true说明同一树candidates[i - 1]使用过
* used[i - 1] == false说明同一树层candidates[i - 1]使用过
**这块去重的逻辑很抽象,网上搜的题解基本没有能讲清楚的,如果大家之前思考过这个问题或者刷过这道题目,看到这里一定会感觉通透了很多!**

View File

@ -142,7 +142,7 @@ for (int i = startIndex; i < candidates.size() && sum + candidates[i] <= target;
我在图中将used的变化用橘黄色标注上**可以看出在candidates[i] == candidates[i - 1]相同的情况下:**
* used[i - 1] == true说明同一树candidates[i - 1]使用过
* used[i - 1] == true说明同一树candidates[i - 1]使用过
* used[i - 1] == false说明同一树层candidates[i - 1]使用过
**这块去重的逻辑很抽象,网上搜的题解基本没有能讲清楚的,如果大家之前思考过这个问题或者刷过这道题目,看到这里一定会感觉通透了很多!**