leetcode: 16. 3Sum Closest
2017-11-07 23:28
309 查看
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).
AC
class Solution(): def threeSumClosest(self, x, target): x.sort() closest = sum(x[:3]) for left in range(len(x) - 2): mid, right = left + 1, len(x) - 1 while mid < right: s = x[left] + x[mid] + x[right] if s == target: return s elif s < target: mid += 1 else: right -= 1 if abs(s - target) < abs(closest - target): closest = s return closest if __name__ == '__main__': assert Solution().threeSumClosest([-1, 2, 1, -4], 1) == 2
相关文章推荐
- leetcode--16. 3Sum Closest
- LeetCode(16)--3Sum Closest
- Leetcode 16 - 3Sum Closest
- LeetCode_OJ【16】3Sum Closest
- Leetcode--16. 3Sum Closest
- leetcode (16) - 3Sum Closest
- LeetCode-16-3Sum-Closest 贪心
- [LeetCode] 16. 3Sum Closest
- 【小熊刷题】3Sum Closest <Leetcode 16, Java>
- leetcode -16 3Sum Closest
- LeetCode 16: 3Sum Closest
- [LeetCode] 16. 3Sum Closest
- leetcode-16 3Sum Closest
- [LeetCode] 16. 3Sum Closest
- LeetCode[16]: 3Sum Closest
- (LeetCode 16) 3Sum Closest
- leetcode_16题——3Sum Closest(两个指针)
- LeetCode16 3Sum Closest
- leetcode 16 -- 3Sum Closest
- [Leetcode] 16. 3Sum Closest