15. 3Sum
Posted jtechroad
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了15. 3Sum相关的知识,希望对你有一定的参考价值。
class Solution { public: vector<vector<int>> threeSum(vector<int>& nums) { sort(nums.begin(), nums.end()); vector<vector<int>> res; if (nums.size() < 3) return res; for (int i = 0; i < nums.size() - 2; i++) { if (i > 0 && nums[i] == nums[i-1]) continue; int t = -nums[i]; for (int j = i+1, k = nums.size()-1; j < k; ) { if (nums[j] + nums[k] < t || j > i+1 && nums[j] == nums[j-1]) j++; else if (nums[j] + nums[k] > t || k < nums.size()-1 && nums[k] == nums[k+1]) k--; else if (nums[j] + nums[k] == t) { vector<int> temp; temp.push_back(nums[i]); temp.push_back(nums[j]); temp.push_back(nums[k]); res.push_back(temp); j++; k--; } } } return res; } };
以上是关于15. 3Sum的主要内容,如果未能解决你的问题,请参考以下文章