zoukankan      html  css  js  c++  java
  • 双指针遍历/滑动窗口 —— 16_最接近的三数之和

    4. 16_最接近的三数之和
    /*
    输入:nums = [-1,2,1,-4], target = 1
    输出:2
    解释:与 target 最接近的和是 2 (-1 + 2 + 1 = 2) 。
    */
    class Solution {
        public int threeSumClosest(int[] nums, int target) {
            Arrays.sort(nums);
            int ret = nums[0] + nums[1] + nums[2];
            for(int i=0; i < nums.length - 2; ++i){
                int l = i+1, r = nums.length - 1;
                while(l < r){
                    int sum = nums[i] + nums[l] + nums[r];
                    if(Math.abs(sum - target) < Math.abs(ret - target)){
                        ret = sum;
                    }
                    if(sum > target) r--;
                    else if(sum < target) l++;
                    else return target;
                }
            }
    
            return ret;
        }
    }
    
  • 相关阅读:
    MySQL Create table as / Create table like
    Oracle CAST() 函数 数据类型的转换
    day 12
    day 11
    day 10
    day 9
    day 8
    day 7
    day 6
    day 5
  • 原文地址:https://www.cnblogs.com/s841844054/p/13736332.html
Copyright © 2011-2022 走看看