思想和求三数之和其实是差不多的,比三数之和多加一个指针;
但是我没搞懂以下这两句话:为什么用第一句就不行,第二句就可以
现在知道了,因为int位数不够,把他转换成long就可以用第一条语句了!!!!
// nums[i] + nums[j] + nums[left] + nums[right] > target
if (nums[i] + nums[j] > target - (nums[left] + nums[right]))
if ((long)nums[i] + nums[j] + nums[left] + nums[right] > target)
class Solution {
public:
vector<vector<int>> fourSum(vector<int>& nums, int target) {
vector<vector<int>> result;
sort(nums.begin(),nums.end());
for(int i = 0; i< nums.size(); i++)
{
if(i>0 && nums[i] ==nums[i-1] )
{
continue;