对array先排序,按照升序的顺序。
class Solution(object): def kthSmallest(self, nums): nums.sort() count = 0 for i in range(len(nums)-2): k = i+2 for j in range(i+1, len(nums)-1): if nums[i] == 0: # 因为已经按序排列了,所以只要判断第一个是不是0就可以了 break else: while k < len(nums) and nums[k] < nums[i]+nums[j]: k += 1 count += k-j-1 return count