leetcode259 -- 3Sum Smaller

leetcode259 -- 3Sum Smaller

题目

这次又不太一样了,这次的题目是说希望返回三数之后小于给定的数target的个数,这三个数要满足a<b<c,即这三个数互不相同。

其实这也是之前两个题的变型,都可以用同一种方法来解决

    nums.sort()

    res = 0
    
    for i in range(len(nums)-2):
        left = i+1
        right = len(nums)-1
        while left<right:
            summ = nums[i]+nums[left]+nums[right]
            if summ<target:
                res += (right-(left+1)+1)    # 这是因为加上大的数这样的话,那么加上小的数更是这样啊.
                left += 1

            else:
                right -= 1
        
    return res

不过上面的代码只针对于所有的数字都是不相同的时候。

打赏,谢谢~~

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,多谢支持~

打开微信扫一扫,即可进行扫码打赏哦