leetcode 16 最接近的三數之和

2021-09-01 05:59:03 字數 668 閱讀 6616

給定乙個包括 n 個整數的陣列nums和 乙個目標值target。找出nums中的三個整數,使得它們的和與target最接近。返回這三個數的和。假定每組輸入只存在唯一答案。

例如,給定陣列 nums = [-1,2,1,-4], 和 target = 1.

與 target 最接近的三個數的和為 2. (-1 + 2 + 1 = 2).

顯然,時間複雜度為o(n^3)的演算法就沒必要考慮了,筆試或面試的時候如果寫了o(n^3)的應該也過不了吧。

可以先把陣列排序,先取第乙個數為nums[i],然後在剩下的數里選兩個,由於陣列已經排好序,可以用雙指標法,l=i+1;r=nums.length-1;然後判斷nums[i]+nums[l]+nums[r]與target的差值,如果比原來的小則更新。

如果nums[i]+nums[l]+nums[r]target,則r--;

class solution 

arrays.sort(nums);

int res=nums[0]+nums[1]+nums[2];

for(int i=0;itarget)

else}}

return res;

}}

LeetCode 16 最接近的三數之和

題目傳送門 給定乙個包括 n 個整數的陣列nums和 乙個目標值target。找出nums中的三個整數,使得它們的和與target最接近。返回這三個數的和。假定每組輸入只存在唯一答案。例如,給定陣列 nums 1,2,1,4 和 target 1.與 target 最接近的三個數的和為 2.1 2 ...

Leetcode 16 最接近的三數之和

給定乙個包括 n 個整數的陣列 nums 和 乙個目標值 target。找出 nums 中的三個整數,使得它們的和與 target 最接近。返回這三個數的和。假定每組輸入只存在唯一答案。例如,給定陣列 nums 1,2,1,4 和 target 1.與 target 最接近的三個數的和為 2.1 2...

leetcode16 最接近的三數之和

leetcode16 最接近的三數之和原題鏈結 題意簡述給定乙個包括 n 個整數的陣列 nums 和 乙個目標值 target。找出 nums 中的三個整數,使得它們的和與 target 最接近。返回這三個數的和。假定每組輸入只存在唯一答案。例如,給定陣列 nums 1,2,1,4 和 target...