zoukankan      html  css  js  c++  java
  • LeetCode 3Sum Closest

    Given an array S of n integers, find three integers in S such that the sum is closest to a given number, target. Return the sum of the three integers. You may assume that each input would have exactly one solution.

        For example, given array S = {-1 2 1 -4}, and target = 1.
    
        The sum that is closest to the target is 2. (-1 + 2 + 1 = 2).

     1 public class Solution {
     2     public int threeSumClosest(int[] num, int target) {
     3         int closet=Integer.MAX_VALUE;
     4         int sum=0;
     5         int temp=0;
     6         int abs=0;
     7         if (num.length==0) return 0;
     8         Arrays.sort(num);
     9         for (int i = 0; i < num.length; i++) {
    10             for (int j = i+1; j < num.length;j++) {
    11                 for (int k =j+1; k<num.length; k++) {
    12                     temp=num[i]+num[j]+num[k];
    13                     abs=Math.abs(temp-target);
    14                     if (temp==target)return temp;
    15                     if (abs<closet){
    16                         sum=temp;
    17                         closet=abs;
    18                     }
    19                     if (temp>target)break;
    20                 }
    21             }
    22         }
    23         return sum;
    24     }
    25 }
  • 相关阅读:
    SuffixArray
    CodeForces722C
    CodeForces1000C
    浅谈定积分
    浅谈线段树
    飞行员配对方案问题
    FhqTreap的区间翻转
    NOI2004郁闷的出纳员
    二分图匹配
    Far Relative’s Problem (贪心 计算来的最多客人)
  • 原文地址:https://www.cnblogs.com/birdhack/p/4075227.html
Copyright © 2011-2022 走看看