Valid Triangle Number
Given an integer array nums
, return the number of triplets chosen from the array that can make triangles if we take them as side lengths of a triangle.
Example 1:
Input: nums = [2,2,3,4] Output: 3 Explanation: Valid combinations are: 2,3,4 (using the first 2) 2,3,4 (using the second 2) 2,2,3
Example 2:
Input: nums = [4,2,3,4] Output: 4
Constraints:
1 <= nums.length <= 1000
0 <= nums[i] <= 1000
class Solution:
def triangleNumber(self, nums: List[int]) -> int:
nums.sort()
n = len(nums)
ctr = 0
i = 2
while i < n:
a = 0
b = i - 1
while a < b:
if nums[a] + nums[b] > nums[i]:
ctr += (b - a)
b -= 1
else:
a += 1
i += 1
return ctr
Comments
Post a Comment