leetcode No16. 3Sum Closest
来源:互联网 发布:大脚趾外翻怎么办 知乎 编辑:程序博客网 时间:2024/06/04 19:24
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).
Algorithm:
先排序,用一层循环加两个指针j,k从两边(i+1,k=nums.size())往中间扫,遇到最接近的就更新res,如果比target大则k--,反之j++。
Accepted Code:
class Solution {public: int threeSumClosest(vector<int>& nums, int target) { if(nums.size()==3)return nums[0]+nums[1]+nums[2]; sort(nums.begin(),nums.end()); int res = nums[0]+nums[1]+nums[2]; int sum = 0; for(int i=0;i<nums.size();i++) { int j = i+1; int k = nums.size()-1; while(j<k) { sum = nums[i]+nums[j]+nums[k]; if(sum == target) return sum; if(abs(sum-target) < abs(res-target)) { res = sum; } if(sum > target) k--; else j++; } } return res; }};
0 0
- leetcode No16. 3Sum Closest
- 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 299. Bulls and Cows
- BQ24250/BQ24251 充电管理芯片I2C 寄存器地址无法读写
- 程序员的28种能力之四 信息整理的能力
- 【62】Spring总结之bean(3)
- mysql常用基础操作语法(九)~~外连接查询【命令行模式】
- leetcode No16. 3Sum Closest
- 递归实现数组求和
- Python实现决策树对西瓜进行分类
- Remove Duplicates from Sorted List I II -- leetcode
- 秒速启动版
- Android基于Google Zxing实现二维码/条形码扫描、生成二维码/条形码
- 基于leaning to rank的广告重点词——qjzcy的博客
- JQ简单的radio切换显示、隐藏
- ~function(){}()函数定义