排序+双指针
func triangleNumber(nums []int) int {
sort.Ints(nums)
n := len(nums)
var res int
for i := n - 1; i >= 2; i-- {
l, r := 0, i - 1
for l < r && l >= 0 && r <= n - 2 {
if nums[l] + nums[r] > nums[i] {
res += r - l
r--
} else {
l++
}
}
}
return res
}