2024-03-19 02:45:09 +08:00

32 lines
480 B
Go

package main
import (
"fmt"
"sort"
)
func triangleNumber(nums []int) int {
sort.Sort(sort.IntSlice(nums))
ret := 0
for i := range nums {
i2 := len(nums) - 2
if i2 > i {
num := nums[i] + nums[i2]
for i3 := len(nums) - 1; i3 > i2; i3-- {
if num > nums[i3] {
ret += (i3 - i2) + (i2 - i - 1)
break
}
}
}
}
return ret
}
func main() {
fmt.Println(triangleNumber([]int{2, 3, 4, 4})) //4
fmt.Println(triangleNumber([]int{2, 2, 3, 4})) //3
}