163Sum Closest
来源:互联网 发布:更换ssh端口 编辑:程序博客网 时间:2024/05/27 20:04
思路类似 3Sum ,先排序,固定一个第一个数调整第二第三个数,
17的解法每次都会进行一轮循环并对是否是closest进行判断, 8ms的解法,在没有=taget的情况之下不断对第二个数第三个数进行循环操作,循环操作结束之后再进行closest的判断 时间节省很多!
17ms解法
public class Solution { public int threeSumClosest(int[] nums, int target) { int close=0,min=Integer.MAX_VALUE; Arrays.sort(nums); int len=nums.length; for(int i=0;i<len;i++){ int j=i+1;int k=len-1; while(j<k){ if(nums[i]+nums[j]+nums[k]<target){ if(Math.abs(min)>Math.abs(target-nums[i]-nums[j]-nums[k])) min=target-nums[i]-nums[j]-nums[k]; j++; continue; } if(nums[i]+nums[j]+nums[k]>target){ if(Math.abs(min)>Math.abs(target-nums[i]-nums[j]-nums[k])) min=target-nums[i]-nums[j]-nums[k]; k--; continue; }if(nums[i]+nums[j]+nums[k]==target){ return target; } } } close=target-min; return close; }}
8ms 解法:
public class Solution { public int threeSumClosest(int[] nums, int target) { int close=0,min=Integer.MAX_VALUE; Arrays.sort(nums); int len=nums.length; for(int i=0;i<len;i++){ int j=i+1;int k=len-1; while(j<k){ if(nums[i]+nums[j]+nums[k]==target){ return target; } else if(nums[i]+nums[j]+nums[k]<target){ while(j<k&&nums[i]+nums[j]+nums[k]<target) j++; if(Math.abs(min)>Math.abs(target-nums[i]-nums[j-1]-nums[k])) min=target-nums[i]-nums[j-1]-nums[k]; } else if(nums[i]+nums[j]+nums[k]>target){ while(j<k&&nums[i]+nums[j]+nums[k]>target) k--; if(Math.abs(min)>Math.abs(target-nums[i]-nums[j]-nums[k+1])) min=target-nums[i]-nums[j]-nums[k+1]; } } } close=target-min; return close; }}
0 0
- leetcode-163Sum Closest
- 163Sum Closest
- 163Sum Closest
- 3 Sum & 3 Sum Closest
- 【Leetcode】3Sum Closest (Sum)
- 15.3Sum &16.3Sum Closest
- LeetCode: 3 Sum Closest
- 3Sum Closest
- leetcode - 3 sum closest
- leetcode 3Sum Closest
- LeetCode: 3Sum Closest
- [Leetcode]3Sum Closest
- Leetcode: 3SUM Closest
- LeetCode 3Sum Closest
- [Leetcode] 3Sum Closest
- leetcode002:3sum closest
- LeetCode : 3Sum Closest
- LeetCode 3Sum Closest
- php模拟post提交请求,调用接口
- 骰子的排列组合
- _vsnprintf 用法
- 谈谈阿里云服务器
- SuppressMessage和代码分析
- 163Sum Closest
- Windows下MySQL-5.7.14免安装版配置教程
- 代码中给view设置背景
- UI 原型设计
- zzulioj1913 小火山的计算能力 (字符串)
- HDU 2059龟兔赛跑(多段决策dp)
- 子集生成详解
- C++ this 指针 浅析
- JZOJ 4605 排序【NOIP2016模拟7.11】