LeetCode #16 3Sum Closest
来源:互联网 发布:三星网络电视怎么看 编辑:程序博客网 时间:2024/06/07 23:25
Description
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).
Analysis
题目难度为:Medium
本题思路,n^3的遍历所有的情况。我们可以进行一定的剪枝,对于第一层循环for (i : nums),对于另j = i+1,k = nums.size(),当i+j+k>target时,–k;i+j+k
Code(c++)
class Solution {public: int threeSumClosest(vector<int>& nums, int target) { if(nums.size() < 3) return 0; int closest = nums[0]+nums[1]+nums[2]; sort(nums.begin(), nums.end()); for(int first = 0 ; first < nums.size()-2 ; ++first) { if(first > 0 && nums[first] == nums[first-1]) continue; int second = first+1; int third = nums.size()-1; while(second < third) { int curSum = nums[first]+nums[second]+nums[third]; if(curSum == target) return curSum; if(abs(target-curSum)<abs(target-closest)) { closest = curSum; } if(curSum > target) { --third; } else { ++second; } } } return closest; }};
0 0
- LeetCode 16: 3Sum Closest
- LeetCode 16: 3Sum Closest
- leetcode 16 3Sum Closest
- [leetcode 16] 3Sum Closest
- Leetcode【16】:3Sum Closest
- [leetcode 16] 3Sum Closest
- [Leetcode] 16 - 3Sum Closest
- leetcode.16----------3Sum Closest
- leetcode 16 3Sum Closest
- leetcode-16 3Sum closest
- LeetCode---(16) 3 Sum Closest
- LeetCode 16 - 3Sum Closest
- leetcode 16 -- 3Sum Closest
- 3Sum Closest - LeetCode 16
- leetcode 16: 3Sum Closest
- Leetcode#16 3Sum Closest
- LeetCode(16) 3Sum Closest
- LeetCode #16 3Sum Closest
- java中localhost是怎么回事?干什么用的?
- OSG中的材质Material
- <操作系统:精髓与设计原理>分布式系统
- 什么是“大规模机器学习”
- linux驱动:[2]字符设备驱动memdev(cdev结构解析)
- LeetCode #16 3Sum Closest
- getAllNetworkInfo()过时解决方式
- 最小生成树-Prim算法和Kruskal算法
- 关于list
- 台球碰撞
- UnicodeDecodeError: 'utf8' codec can't decode byte 0xd5 in position 8: invalid c ontinuation byte
- 原生JS Ajax操作
- java中TCP和UDP两种协议的区别?
- break、continue、return的区别