LeetCode No 15 三數之和

2021-10-01 16:23:05 字數 1037 閱讀 2276

求陣列中三數之和為零的所有不重複解。

解題思想:

1. 陣列非null且陣列的長度大於等於3

2. 對陣列進行排序後進行第三步的處理

3. 遍歷有序陣列:

class solution 

quicksort(nums, 0, nums.length - 1);

for (int i = 0; i < nums.length; i++)

int left = i + 1, right = nums.length - 1;

while (left < right)

right--;

while (left < right && nums[left] == nums[left + 1])

left++;

} else if (nums[left] + nums[right] > 0 - nums[i])

right--;

} else

left++;}}

while (i < nums.length - 1 && nums[i] == nums[i + 1])

}return result;

}void quicksort(int array, int left, int right)

int mid = partition(array, left, right);

quicksort(array, left, mid - 1);

quicksort(array, mid + 1, right);

}int partition(int array, int left, int right)

if (left < right)

while (array[left] <= tmp && left < right)

if (left < right)

}array[left] = tmp;

return left;

}}

Leetcode NO 15 三數之和 夾逼

給你乙個包含 n 個整數的陣列 nums,判斷 nums 中是否存在三個元素 a,b,c 使得 a b c 0 請你找出所有滿足條件且不重複的三元組。注意 答案中不可以包含重複的三元組。示例 給定陣列 nums 1,0,1,2,1,4 滿足要求的三元組集合為 1,0 1 1,1,2 author f...

leetcode之15三數之和Golang

題目的要求有兩個,首先是三個數的和為0,其次是這種和為0的三元組不能重複。當給定乙個陣列,我們求滿足和為0的三元組的時候核心思想使用的是暴力破解,也就是三重迴圈,遍歷三次陣列,但是在這裡我們給出如下優化 首先將陣列按照從小到大的順序排序 設定三個指標index,分別為i,j,k,他們分別代表陣列中滿...

15 三數之和

給定乙個包含 n 個整數的陣列 nums,判斷 nums 中是否存在三個元素 a,b,c 使得 a b c 0 找出所有滿足條件且不重複的三元組。注意 答案中不可以包含重複的三元組。例如,給定陣列 nums 1,0,1,2,1,4 滿足要求的三元組集合為 1,0,1 1,1,2 最首先想到的是來三層...