思路:竟然最初的想法是用回溯,真的是没想到会超时。
连爆破都没超时
class Solution {
public int triangleNumber(int[] nums) {
Arrays.sort(nums);
int count = 0;
for(int i = 0;i < nums.length-2;i++){
int k = i + 2;
for(int j = i+1;j < nums.length-1 && nums[i] != 0;j++){
while(k < nums.length && nums[i]+nums[j]>nums[k]){
k++;
}
count+= k - j - 1;
}
}
return count;
}
}