Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit c71a9b0

Browse files
fix: 修正 0015.三数之和.md 中的严重表述错误(update: 统一变量名,回退去重逻辑)
1 parent 23c24d3 commit c71a9b0

File tree

1 file changed

+12
-12
lines changed

1 file changed

+12
-12
lines changed

‎problems/0015.三数之和.md‎

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -55,20 +55,20 @@ public:
5555
// 实际解法:a+b+c(存储)==0(检索) <=> b(存储)==0-(a+c)(检索)
5656
vector<vector<int>> threeSum(vector<int>& nums) {
5757
// 本解法的内层循环一边存储一边检索,所以被存储的应该是b,而不是c
58-
vector<vector<int>> res;
58+
vector<vector<int>> result;
5959
sort(nums.begin(), nums.end());
60-
61-
// 如果只有正数,不可能形成和为0的三元组
62-
if (nums[0] > 0)
63-
return res;
6460

6561
for (int i = 0; i < nums.size(); i++) {
62+
// 如果a是正数,a<b<c,不可能形成和为0的三元组
63+
if (nums[i] > 0)
64+
break;
65+
6666
// [a, a, ...] 如果本轮a和上轮a相同,那么找到的b,c也是相同的,所以去重a
6767
if (i > 0 && nums[i] == nums[i - 1])
6868
continue;
6969

70-
// 这个st的作用是存储b
71-
unordered_set<int> st;
70+
// 这个set的作用是存储b
71+
unordered_set<int> set;
7272

7373
for (int k = i + 1; k < nums.size(); k++) {
7474
// [(-2x), ..., (x), (x), x, x, x, ...]
@@ -81,18 +81,18 @@ public:
8181

8282
// a+b+c=0 <=> b=0-(a+c)
8383
int target = 0 - (nums[i] + nums[k]);
84-
if (st.find(target) != st.end()) {
85-
res.push_back({nums[i], target, nums[k]}); // nums[k]成为c
84+
if (set.find(target) != set.end()) {
85+
result.push_back({nums[i], target, nums[k]}); // nums[k]成为c
8686
// 内层循环中,a固定,如果find到了和上轮一样的b,那么c也就和上轮一样,所以去重b
87-
st.erase(target);
87+
set.erase(target);
8888
}
8989
else {
90-
st.insert(nums[k]); // nums[k]成为b
90+
set.insert(nums[k]); // nums[k]成为b
9191
}
9292
}
9393
}
9494

95-
return res;
95+
return result;
9696
}
9797
};
9898
```

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /