刚刚笔试遇到的。好像很简单,但又不容易写的
611 有效三角形
def triangleNumber(self, nums):
count = 0
nums.sort()
for i in range(len(nums) - 2):
k = i + 2
for j in range(i + 1, len(nums) - 1):
if nums[i] == 0:
break
while k < len(nums) and nums[i] + nums[j] > nums[k]:
k += 1
count += k - j - 1
return count