zoukankan      html  css  js  c++  java
  • LeetCode 976. Largest Perimeter Triangle

    976. Largest Perimeter Triangle(三角形的最大周长)

    链接

    https://leetcode-cn.com/problems/largest-perimeter-triangle

    题目

    给定由一些正数(代表长度)组成的数组 A,返回由其中三个长度组成的、面积不为零的三角形的最大周长。

    如果不能形成任何面积不为零的三角形,返回 0。

    示例 1:

    输入:[2,1,2]
    输出:5
    示例 2:

    输入:[1,2,1]
    输出:0
    示例 3:

    输入:[3,2,3,4]
    输出:10
    示例 4:

    输入:[3,6,2,3]
    输出:8

    提示:

    3 <= A.length <= 10000
    1 <= A[i] <= 10^6

    思路

    这题偷了个懒,直接用了自带的sort函数,之后就是一共从后向前的循环,每三个为一组,若该组可以构成三角形,返回长度,不然跳出。
    这里还有一个数学问题,为什么是连续的三个而不是中断的三个,这里假设有四个数字abcd,升序排列,先判断bcd,在判断abc,因为如果b+c<d,无法构成,那么a+c<b+c更无法构成了。

    代码

      public static int largestPerimeter(int[] A) {
        Arrays.sort(A);
        for (int i = A.length - 1; i > 1; i--) {
          if (A[i] < A[i - 1] + A[i - 2]) {
            return A[i] + A[i - 1] + A[i - 2];
          }
        }
        return 0;
      }
    
  • 相关阅读:
    win10使用WampServer部署magento
    JavaScript的this详解
    jQuery的css
    jQuery.cssHooks
    jQuery属性
    jQuery选择器
    ajax中的stasus错误详解
    ajax
    js数组中的注意
    js的严格模式
  • 原文地址:https://www.cnblogs.com/blogxjc/p/12262863.html
Copyright © 2011-2022 走看看