【小熊刷题】3Sum Closest <Leetcode 16, Java>
2015-09-12 02:56
483 查看
Question
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).
*Difficulty: Medium
https://leetcode.com/problems/3sum-closest/
Solution
跟之前3Sum的很像,也是用two pointer的方法public class Solution { public int threeSumClosest(int[] nums, int target) { int close = 0; if(nums.length < 3){ for(int i : nums) close += i; return close; }else{ close = nums[0]+nums[1]+nums[2]; } Arrays.sort(nums); for(int i = 0; i < nums.length-2; i++){ int a = nums[i]; int start = i+1; int end = nums.length-1; while(start < end){ int b = nums[start]; int c = nums[end]; int currSum = a+b+c; if(Math.abs(target - currSum) < Math.abs(target-close)) { close = currSum; } if(currSum == target) return target; else if(currSum > target) end--; else start++; } } return close; } }
相关文章推荐
- spring,cxf,restful发布webservice传递List,Map,List<Map>
- eclipse的svn插件出现问题,64位系统,解决方法
- java实现excel的导入导出(poi详解)
- Java实现简单的员工管理系统
- 【Java】正则表达式
- JavaSE值得注意的地方
- 1.JDK安装环境搭建
- Java虚拟机的内存是如何分布的
- 利用Java的反射机制,写了一个简单的仿Gson的解析器
- Hadoop-eclipse-plugin插件安装
- JAVA String类与常量池,堆之间的错综复杂...
- 关于引入第三方jar包引发的java.lang.NoClassDefFoundError解决
- ActiveMQ与Spring集成
- 从0开始 3. JAVA基础数据类型
- 从0开始 4. Java运算符与表达式
- 从0开始 4. Java 选择与循环语句
- 使用Eclipse-Maven-git做Java开发(6)--介绍一下maven
- ProtoBuf 的java使用
- eclipse安装svn插件
- ActiveMQ与Spring集成