611-Valid-Triangle-Number
0x0 题目详情
0x1 解题思路
0x2 代码实现
class Solution {
public int triangleNumber(int[] nums) {
//一看就是求三数之和的变体
if(nums==null || nums.length==0){
return 0;
}
int result=0;
Arrays.sort(nums);
for(int i=nums.length-1;i>=2;i--){
//从后往前遍历,每次固定一条最长边
int left=0;
int right=i-1;
while(left<right){
if(nums[left]+nums[right]>nums[i]){
result+=right-left;
right--;
}else{
left++;
}
}
}
return result;
}
}0x3 课后总结
Last updated