給定乙個包括 n 個整數的陣列 nums 和 乙個目標值 target。找出 nums 中的三個整數,使得它們的和與 target 最接近。返回這三個數的和。假定每組輸入只存在唯一答案。
例如,給定陣列 nums = [-1,2,1,-4], 和 target = 1.
與 target 最接近的三個數的和為 2. (-1 + 2 + 1 = 2).
方法:雙指標滑動法
思路:1,和求三數之和一樣,先對陣列排序,然後固定乙個座標,剩下兩個索引根據結果滑動縮減區間即可;
2,通俗點兒就是,排序後陣列nums,先固定i是第乙個元素,i=0;左指標l=i+1,右指標r=nums.length-1;在l到r這個區間裡面,根據三數之和sum和目標值target的大小,大於則r–,小於則l++;並且記錄與目標值最接近的臨時sum值;
3,假設只存在唯一答案,那就不需要判斷重複,不斷的記錄改變臨時sum值,找到最接近的就是結果;
class solution
if (sum < target)
l ++;
else if (sum > target)
r--;
else
return sum;}}
return res;
}}
最接近的三數之和
給定乙個包括 n 個整數的陣列nums和 乙個目標值target。找出nums中的三個整數,使得它們的和與target最接近。返回這三個數的和。假定每組輸入只存在唯一答案。例如,給定陣列 nums 1,2,1,4 和 target 1.與 target 最接近的三個數的和為 2.1 2 1 2 pu...
最接近的三數之和
題目 有點類似三數之和的進化版 給定乙個包括 n 個整數的陣列 nums 和 乙個目標值 target。找出 nums 中的三個整數,使得它們的和與 target 最接近。返回這三個數的和。假定每組輸入只存在唯一答案。例如,給定陣列 nums 1,2,1,4 和 target 1.與 target ...
最接近的三數之和
給定乙個包括 n 個整數的陣列 nums 和 乙個目標值 target。找出 nums 中的三個整數,使得它們的和與 target 最接近。返回這三個數的和。假定每組輸入只存在唯一答案。例如,給定陣列 nums 1,2,1,4 和 target 1.與 target 最接近的三個數的和為 2.1 2...