T976 三角形的最大周长
程序员文章站
2022-05-15 11:33:36
注意一点:Q: 如果这里我们考虑这种连续的三个组建不了,但是跳跃的三个是否可以组建?。A: 仔细想想不会存在这样情况的,我们的数据是已经排好序的,如果连续三个不能的话,其它他们两两之间的差值只会更大class Solution { public int largestPerimeter(int[] A) { int len = A.length; if(len<3) return 0; Arrays.sort(A); for(int idx...
注意一点:
Q: 如果这里我们考虑这种连续的三个组建不了,但是跳跃的三个是否可以组建?。
A: 仔细想想不会存在这样情况的,我们的数据是已经排好序的,如果连续三个不能的话,其它他们两两之间的差值只会更大
class Solution {
public int largestPerimeter(int[] A) {
int len = A.length;
if(len<3) return 0;
Arrays.sort(A);
for(int idx = len-1;idx>=2;idx--){
int a = A[idx];//a用于确定此时三条边的最大边
int b = A[idx-1];
int c = A[idx-2];
if(b+c>a){//若b+c<=a则表示a太大了,所以a左移
return a+b+c;
}
}
return 0;
}
}
本文地址:https://blog.csdn.net/weixin_44718747/article/details/107303106
上一篇: 三大云计算巨头之间的云端战争
下一篇: Linux基础3_基本属性