1 Star 0 Fork 0

唐梓迅/leetcode题解

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
剑指offerⅡ007 1.04 KB
一键复制 编辑 原始数据 按行查看 历史
唐梓迅 提交于 2022-04-10 22:12 +08:00 . add 剑指offerⅡ007.
class Solution {
public:
vector<vector<int>> threeSum(vector<int>& nums) {
//排序
sort(nums.begin(),nums.end());
vector<vector<int>> ans;
for(int k = 0; k < nums.size(); k++){
if(k > 0 && nums[k] == nums[k - 1])
continue;
int i = k + 1, j = nums.size() - 1;
while(i < j){
if(nums[i] + nums[j] == -nums[k]){
ans.push_back(vector<int>{nums[k],nums[i],nums[j]});
i++, j--;
//去重
while(i < j && nums[i] == nums[i - 1])
i++;
while(i < j && nums[j] == nums[j + 1])
j--;
}
// > 的话j左移
else if(nums[i] + nums[j] > -nums[k]){
j--;
}
// < 的话i右移
else{
i++;
}
}
}
return ans;
}
};
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Java
1
https://gitee.com/Tang-CMer/leetcode-problem-solving.git
git@gitee.com:Tang-CMer/leetcode-problem-solving.git
Tang-CMer
leetcode-problem-solving
leetcode题解
master

搜索帮助