leetcode16 3Sum Closest(java实现)
来源:互联网 发布:英菲克网络机顶盒 编辑:程序博客网 时间:2024/06/05 14:55
题目:
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).
Subscribe to see which companies asked this question
解题思路类似于leetcode15 3Sum,区别就在于将三个数之和为0的目标改为三个数之和与目标数字差的绝对值最小。
代码如下所示:
public class Solution { public int threeSumClosest(int[] nums, int target) { int n = nums.length; int ans = Integer.MAX_VALUE; int min = Integer.MAX_VALUE; int sum ; int curMin; int p,q; Arrays.sort(nums); for(int i=0;i<n;i++){ if(i>0 && nums[i-1]==nums[i]) continue; p=i+1;q=n-1; while(p<q){ sum = nums[i]+nums[p]+nums[q]; curMin = Math.abs(target-sum); if(sum==target){ return target; } else if(sum>target){ q--; } else{ p++; } if(curMin<min){ min=curMin; ans=sum; } } } return ans; }}
0 0
- leetcode16 3Sum Closest(java实现)
- [LeetCode16]3Sum Closest
- LeetCode16:3Sum Closest
- leetcode16 3Sum Closest
- LeetCode16:3Sum Closest
- LeetCode16. 3Sum Closest
- leetcode16:3Sum Closest
- Leetcode16. 3Sum Closest
- leetcode16~3Sum Closest
- LeetCode16. 3Sum Closest
- leetcode16. 3Sum Closest
- leetcode16. 3Sum Closest
- leetcode16. 3Sum Closest
- LeetCode16 3Sum Closest
- LeetCode16——3Sum Closest
- 3Sum Closest(java实现)
- [LeetCode16]3Sum Closed
- 3Sum Closest Java
- YOLO原理--读《You Only Look Once:Unified, Real-Time Object Detection》
- 自己比较喜欢用的安卓数据库框架ActiveAndroid
- 安卓方法——View.onDraw(Canvas canvas)的使用
- Java多线程之死锁
- Android 6.0 运行时权限处理完全解析
- leetcode16 3Sum Closest(java实现)
- Gartner2016年10大信息安全技术
- Android网络缓存,retrofit+okhttp
- Logstash -- Nginx 日志收集处理!
- dubbo的使用及配置
- 无法下载文件
- ZCMU—1494
- Android 发布Library到Jcenter
- HTML5 学习笔记1-全局属性