Leetcode_3Sum Closest
来源:互联网 发布:好看男士衣服的淘宝店 编辑:程序博客网 时间:2024/05/16 03:06
题目:
Given an array S ofn integers, find three integers inS 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).
和3sum相似。
最“简单”即最容易想到的方法肯定是,所有数组合一次,n(n-1)(n-2)个组合,这样就是在三层数量基本都是n的数据上进行处理。将数据排序后,以下方法是线性的,在一层数据上处理。视觉上,可以从上述角度去理解这个方法的优化之处。
代码如下:
class Solution {public: int threeSumClosest(vector<int>& nums, int target) { int closet = nums[0] + nums[1] + nums[2]; int diff = abs(closet-target); sort(nums.begin(), nums.end()); for(int i = 0; i < nums.size()-2; i++) { int left = i+1, right = nums.size()-1; while(left < right) { int sum = nums[i] + nums[left] + nums[right]; if(diff > abs(sum - target)) { diff = abs(sum - target); closet = sum; } if(sum < target) { left++; } else { right--; } } } return closet; }};
阅读全文
0 0
- Leetcode_3sum-closest
- LeetCode_3Sum Closest
- Leetcode_3Sum Closest
- *Leetcode_3sum
- LeetCode_3Sum
- leetCode_3Sum
- LeetCode_3Sum
- Leetcode_3Sum
- leetcode_3sum closet
- closest
- Closest
- closest 用法
- closest jquery
- 2Sum closest vs. 2Minus closest
- leetcode - 3Sum Closest (kSum Closest)
- Closest Common Ancestors
- Sicily 1961. Closest Points
- LeetCode: 3 Sum Closest
- 关于Java咋记记不住的东西!很闹心~(1)
- 关于变量提升
- pymysql模块连接数据库详解
- NEFU 1268 区间最小值求和(单调队列||RMQ)
- 重拾springmvc(三)
- Leetcode_3Sum Closest
- SDNU1171.合并果子优先队列
- 前台正则表达式校验
- angular4之父子组件之间的传值
- recyclerView实现左右滑动的效果
- Reverse Integer
- 侧拉——我的相册—权限。依赖。布局
- Android开发易忘、常见知识积累(持续更新中)---java知识
- 12.10学习计划