LeetCode 3Sum Closest C++
来源:互联网 发布:地方门户源码带手机版 编辑:程序博客网 时间:2024/05/22 12:54
#include <iostream>#include <vector>#include<algorithm>#include <queue>using namespace std;/************************************************************************//* Problem: 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). Author : crazys_popcorn@126.com DateTime: 2017年8月2日 18:39:17*//************************************************************************/class Solution {public: int threeSumClosest(vector<int>& nums, int target) { sort(nums.begin(), nums.end()); //Blind Dick, write a value, and then gradually contrast int value = nums[0] + nums[1] + nums[2]; int diff = abs(target - value); for (int i =0;i<nums.size()-2;i++) { int left = i + 1; int right = nums.size()-1; while (left < right) { int temp = nums[i] + nums[left] + nums[right]; //对比差值 int newdiff = abs(target - temp); //差价较小//更新 返回值 、、 if (newdiff < diff) { diff = newdiff; value = temp; } //because sort so :temp < target ++ left otherwise --ritht if (temp < target) { ++left; } else { --right; } } } return value; }};void main(){ std::vector<int> arr = {1,1,1,0 }; Solution s1; std::cout<<s1.threeSumClosest(arr,100); std::cout<<""<<endl; system("pause");}
阅读全文
0 0
- Leetcode c语言-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
- Android开发实践:屏幕旋转的处理
- CDH:hdfs劵故障
- CFNetwork internal error (0xc01a:/BuildRoot/Library/Caches/com.apple.xbs/Sources/CFNetwork_Sim/CFNet
- Android Activty的加载过程 启动流程 源码分析
- 设计模式(19)--观察者模式
- LeetCode 3Sum Closest C++
- 2015多校第7场 HDU 5373 The shortest problem 规律,暴力
- LaTeX插入多行多列图
- 学习笔记
- android加入谷歌地图(2)
- 根据@把邮箱的用户名和地址分离,以键值对应的方式放入HashMap中
- C++函数模板
- HDU6060 RXD and dividing【DFS】
- setTag()和getTag() android