16. 最接近的三数之和
生活随笔
收集整理的這篇文章主要介紹了
16. 最接近的三数之和
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
注意:從n種情況比較出極值的方法,對于初始值設(shè)定可以使用標(biāo)記特殊處理第一次或者在遍歷前賦一次值。
public int threeSumClosest(int[] nums, int target) {//使用已排序好的數(shù)組+雙指針可以簡化問題Arrays.parallelSort(nums);int minDiff=0;int retSum=0;int count=0;for(int i=0;i<nums.length-2;i++) {int l=i+1;int r=nums.length-1;while(l<r) {int sum=nums[i]+nums[l]+nums[r];int absDiff=Math.abs(sum-target);if(count==0)//處理第一次進(jìn)入時(shí)的問題{count=1;retSum=sum;minDiff=absDiff;}else{if(sum<target) { l++;}else {r--;}if(absDiff<minDiff) {minDiff=absDiff;retSum=sum;}}}}return retSum;}?
總結(jié)
以上是生活随笔為你收集整理的16. 最接近的三数之和的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 进程的定义和状态转换
- 下一篇: 文本编码格式