leetcode+three sum closet+标记一下INT_MIN
2018-01-12 13:59
375 查看
点击打开链接
#include<iostream> #include<stdio.h> #include<stdlib.h> #include<string> #include<cstring> #include<string.h> #include<math.h> #include<algorithm> #include<queue> #include<vector> #include<set> #include<limits.h> #include<assert.h> #include<queue> #define LL long long #define inf 0x3f3f3f3f #define mod 1e9+7 using namespace std; class Solution { public: int threeSumClosest(vector<int>& nums, int target) { int lengh= nums.size(), min=INT_MAX,i=0; sort(nums.begin(), nums.end()); for(i=0;i<lengh;i++){ if(i>0&& nums[i]==nums[i-1]) continue; int begin=i+1, end=lengh-1,sum=0; while (begin<end) { sum=nums[i]+nums[begin]+nums[end]; if(abs(sum-target)<abs(min)) min=sum-target; if(sum==target) return target; else if(sum<target) begin++; else end--; } } return min+target; } }; int main() { Solution temple; vector<int>Q; Q.push_back(-1); Q.push_back(2); Q.push_back(1); Q.push_back(4); cout<<temple.threeSumClosest(Q, 1)<<endl; return 0; }
相关文章推荐
- Three Sum Closest || LeetCode-16
- MinPathSum(leetcode)
- leetcode 16 threeSumClosest
- LeetCode(三)关于ThreeSum的实现
- LeetCode之ThreeSum
- Leetcode 3 sum && 3 sum closet&& 4 sum
- LeetCode64 minPathSum 解题报告
- LeetCode 62/63/120/64 Unique PathsI/II Triangle/Min sum Path/Rectangle Area--DP
- 【LeetCode 16】 threeSumClosest
- Leetcode 3sumcloset, 3sum, 4sum问题详解
- [LeetCode] 2Sum, 3Sum, 4Sum, 3SUm closet
- [LeetCode] Minmum Path Sum
- leetCode threeSum 三数之和
- Three Sum Closet
- leetcode 2Sum、3Sum、3sum closet
- [return sum(nums)-min(nums)*len(nums)leetcode453】 Minimum Moves to Equal Array Elements
- leetcode-java.T016_threeSumClosest---给定包含n个整数数组S,找到S中的三个整数,从而使之和最接近给定的数,返回三个整数的总和.
- LeetCode ThreeSum
- [LeetCode]16.threeSumClosest
- [LeetCode] Two Sum, 3Sum ,3SumCloset , 4Sum