欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

T976 三角形的最大周长

程序员文章站 2022-11-30 17:03:12
注意一点: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