给一个数组以及一个数K, 从这个数组里面选择三个数,使得三个数的和小于等于K, 有多少种选择的方法?...3,2,5,2,1,4,2,3]
k = 7
Output:
6 # [1,2,4], [1,2,3], [1,2,2], [1,3,3], [2,2,2], [2,2,3]
解题思路:
这个题是“三个数的和等于...在两个数的和小于等于K的问题中,同样设置高低指针,然后判断低指针指向的元素与高指针指向的元素之和是否小于等于K,如果不是,高指针向左移动;否则,数出高低指针中间有多少个不重复的组合,然后低指针向右移动。...空间复杂度:O(n)
Python 实现:
class Solution:
"""
@param nums: 数组
@param k: 3个数的和小于等于k
@return...dup[i-1] + 1
else:
dup[i] = dup[i-1]
return dup
# 转化为两个数的和小于等于