北美程序员面试干货

LintCode 443 [Two Sum II]

2016-07-18  本文已影响23人  Jason_Yuan

原题

给一组整数,问能找出多少对整数,他们的和大于一个给定的目标值。

样例
对于 numbers = [2, 7, 11, 15], target = 24 的情况,返回 1。因为只有11 + 15可以大于24。

解题思路

完整代码

class Solution:
    # @param nums, an array of integer
    # @param target, an integer
    # @return an integer
    def twoSum2(self, nums, target):
        # Write your code here
        count = 0
        if (nums == None or len(nums) == 0):
            return count
        nums.sort()
        i = 0
        j = len(nums) - 1
        while (i < j):
            if nums[i] + nums[j] <= target:
                i += 1
            elif nums[i] + nums[j] > target:
                count += j-i
                j -= 1
        return count
上一篇 下一篇

猜你喜欢

热点阅读