LeetCode 3Sum Closest
来源:互联网 发布:加强网络安全管理通知 编辑:程序博客网 时间:2024/06/03 19:44
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).
class Solution {public: int threeSumClosest(vector<int> &num, int target) { int closest = num[0]+num[1]+num[2], diff = abs(closest - target); int i,j,k,s; sort(num.begin(), num.end()); for(k = 0; k <= num.size() - 3; k++) { i = k + 1; j = num.size() - 1; while(i < j) { s = num[k]+num[i]+num[j]; if(abs(s - target) < diff) { closest = s; diff = abs(closest - target); } if(s == target) return target; else if(s < target) i++; else j--; } } return closest; }};思路:解法时间复杂度O(n^2),关键处思路同Two Sum。
先固定一个数,另外两个数使用Two Sum的算法来确定,然后这个固定的数取遍数组中所有值即可找出closest。
0 0
- LeetCode: 3 Sum Closest
- leetcode - 3 sum closest
- leetcode 3Sum Closest
- LeetCode: 3Sum Closest
- [Leetcode]3Sum Closest
- Leetcode: 3SUM Closest
- LeetCode 3Sum Closest
- [Leetcode] 3Sum Closest
- LeetCode : 3Sum Closest
- LeetCode 3Sum Closest
- [LeetCode] 3Sum Closest
- 【leetcode】3Sum Closest
- [LeetCode]3Sum Closest
- LeetCode-3Sum Closest
- LeetCode:3Sum Closest
- LeetCode | 3Sum Closest
- 【leetcode】3Sum Closest
- Leetcode: 3Sum Closest
- Codeforces Round #287 (Div. 2)A(排序)
- Eclispe中的Junit3快速起步
- Codeforces GYM 100548 F - Color 2014-2015 ACM-ICPC, Asia Xian Regional Contest
- poj 3045 Cow Acrobats 贪心
- 1001Jump and Jump...
- LeetCode 3Sum Closest
- MQTT简介
- 黑马程序员Android第55期—— XML 实例一
- C编译器剖析_2.2 词法分析
- Java解析XML的四种方法
- Codeforces Round #287 (Div. 2) E. Breaking Good
- get/post发送HTTP请求2
- Java并发——线程池原理
- python的nltk中文使用和学习资料汇总帮你入门提高