Leetcode-976. 三角形的最大周长

这篇具有很好参考价值的文章主要介绍了Leetcode-976. 三角形的最大周长。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

题目:

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

示例 1:

输入:nums = [2,1,2]
输出:5
解释:你可以用三个边长组成一个三角形:1 2 2。

示例 2:

输入:nums = [1,2,1,10]
输出:0
解释:
你不能用边长 1,1,2 来组成三角形。
不能用边长 1,1,10 来构成三角形。
不能用边长 1、2 和 10 来构成三角形。
因为我们不能用任何三条边长来构成一个非零面积的三角形,所以我们返回 0。

提示:

  • 3 <= nums.length <= 10^4
  • 1 <= nums[i] <= 10^6

我一开始以为先排序,然后移动窗口,结果,后来发现又是写复杂了......

移动窗口版:

class Solution {
    public int largestPerimeter(int[] nums) {
        Arrays.sort(nums);
        int Len = nums.length;
        int right= Len-1;
        int left = Len-3;
        while(left>=0){
            int mid = (right + left) / 2;
            if(nums[right] >= nums[left]+nums[mid]){
                right--;
                left--;
            }else{
                return nums[left] + nums[mid] + nums[right];
            }
        }
        return 0;
    }
}

精简版:文章来源地址https://www.toymoban.com/news/detail-826028.html

class Solution {
    public int largestPerimeter(int[] nums) {
        Arrays.sort(nums);
        for(int i = nums.length - 1; i >= 2; i--){
            if(nums[i - 2] + nums[i - 1] > nums[i]){
                return nums[i - 2] + nums[i - 1] + nums[i];
            }
        }
        return 0;
    }
}

到了这里,关于Leetcode-976. 三角形的最大周长的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 计算长方形、三角形、圆形的面积和周长

    系统设计框图 : 图形模块的 概要设计( 设计数据结构和接口 ): 数据结构: float 表示面积和周长 长方形的数据( 一般typedef都是定义在对应模块的头文件中 ) typedef struct{ float width; float height; }Rect_st; 三角形的数据 typedef struct{ float bottom; float height; }Triangle_st; 圆形的数据

    2023年04月23日
    浏览(36)
  • 【LeetCode】双指针妙解有效三角形的个数

    Problem: 611. 有效三角形的个数 首先我们来分析一下本题的思路 看到题目中给出的示例 题目的意思很简单,就是将给到的数字去做一个组合,然后看看这三条边是否可以构成三角形。那判断的方法不用我说,相信大家如果读过小学的话应该都明白的,即 三角形两边之和大于第

    2024年02月10日
    浏览(34)
  • 如何判别三角形和求10 个整数中最大值?

    分享每日小题,不断进步,今天的你也要加油哦!接下来请看题------                                                 一、已知三条边a,b,c能否构成三角形,如果能构成三角形,判断三角形的类型(等边三角形、等腰三角形或普通三角形 二、打印9*9乘法口诀表 三 、

    2024年04月23日
    浏览(36)
  • 使用Python实现高效数据下采样:详解最大三角形三桶(LTTB)算法

    引言 在我们接触大规模的数据集时,数据的数量往往会让人望而却步。数据分析、机器学习等领域的专业人员需要对这些数据进行处理,以便更好地理解数据,以及利用数据进行预测。然而,处理大规模数据的计算成本往往非常高,这时候,就需要引入下采样(Downsampling)的

    2024年02月14日
    浏览(37)
  • css实现圆角三角形,圆角三角形的实现

    今天给大家带来一个如何实现圆角三角形的方案,这个方案虽然可以实现,但是也是借助拼凑等方式来实现的,假如想一个div来实现圆角三角形,还是比较困难的。之前文章讲了如何实现对话框,里面介绍了三角形的实现方式。今天讲讲如何实现圆角三角形。 想要生成一个带

    2024年02月09日
    浏览(45)
  • 用python写九九乘法表(左上三角、左下三角、右上三角、右下三角、正三角形、倒三角形格式)

    1.左上三角格式:   2.左下三角格式:   3.右上三角格式:     4.右下角格式:     5.倒三角格式:      

    2024年02月11日
    浏览(50)
  • C语言程序设计:输入一个三角形的三条边长,求出三角形的面积。

    已知三角形的三边长a,b,c,则该三角形的面积公式为:           area=  其中s = (a+b+c)/2

    2024年02月06日
    浏览(51)
  • OpenCV项目开发实战-- 将一个三角形变形为另一个三角形 ( C++ / Python )代码实现

     文末附基于Python和C++两种方式实现的测试代码下载链接 图 1:左图中蓝色三角形内的所有像素都已转换为右图中的蓝色三角形。 在本教程中,我们将看到如何将图像中的单个三角形变形为不同图像中的另一个三角形。 在计算机图形学中,人们一直在处理扭曲三角形,因为任

    2024年02月09日
    浏览(76)
  • css实现三角形

       1. Border 2. transform 3.  :before 和 :after 伪元素 4. clip-path

    2024年02月09日
    浏览(38)
  • 【数字三角形】

    题目描述 上图给出了一个数字三角形。从三角形的顶部到底部有很多条不同的路径。对于每条路径,把路径上面的数加起来可以得到一个和,你的任务就是找到最大的和。 路径上的每一步只能从一个数走到下一层和它最近的左边的那个数或者右 边的那个数。此外,向左下走

    2024年02月05日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包