码迷,mamicode.com
首页 > 其他好文 > 详细

976. 三角形的最大周长『简单』

时间:2020-06-23 21:20:33      阅读:65      评论:0      收藏:0      [点我收藏+]

标签:rgs   pre   https   public   测试用例   元素   stat   解题思路   str   

题目来源于力扣(LeetCode

一、题目

976. 三角形的最大周长

题目相关标签:排序、数学

技术图片

提示:

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

二、解题思路

  1. 首先对数组进行排序

  2. 倒序遍历数组,对范围内的数组元素进行比较

  3. 判断当前遍历的元素是否小于前两位元素的和

    三角形定理:任意两条边大于第三条边

    即判断较小的两条边的和是否大于较长的一条边

三、代码实现

public static int largestPerimeter(int[] A) {
    int[] nums = A;
    // 排序操作
    Arrays.sort(nums);
    // 倒序遍历
    for (int i = nums.length - 1; i >= 2; i--) {
        int a = nums[i];
        int b = nums[i - 1];
        int c = nums[i - 2];
        // 三角形的任意两条边都大于另一条边
        if (a < b + c) {
            return a + b + c;
        }
    }
    return 0;
}

四、执行用时

技术图片

五、部分测试用例

public static void main(String[] args) {
    int[] nums = {2, 1, 2};  // output: 5
//    int[] nums = {1, 2, 1};  // output: 0
//    int[] nums = {3, 2, 3, 4};  // output: 10
//    int[] nums = {3, 6, 2, 3};  // output: 8

    int result = largestPerimeter(nums);
    System.out.println(result);
}

976. 三角形的最大周长『简单』

标签:rgs   pre   https   public   测试用例   元素   stat   解题思路   str   

原文地址:https://www.cnblogs.com/zhiyin1209/p/13184304.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!