三角形的最大周长

给定由一些正数(代表长度)组成的数组 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

题意:就是让我们从给定的数组中挑出三个数组成周长最大的三角形,输出这个最大的周长,如果不能构成三角形,输出0。

思路:我们可以贪心来做,首先对这个数组排序,然后从大到小遍历找到符合的就return。

满足以下情况就是符合的:
假设:a > b > c
只要 b+c > a 就可以证明a,b,c可以构成一个三角形。
 
详细解释:
因为:a > b > c
所以: a+b > c 和 a+c > b 是成立的
所以:只要 b+c > a 就可以证明a,b,c可以构成一个三角形。
我们把数组从大到小遍历,这样第一个符合情况的三角形就一定是周长最大的了。

详细代码:

package com.Keafmd.day29;import java.util.Arrays;/*** Keafmd** @ClassName: LargestPerimeterTriangle* @Description: 三角形的最大周长* @Author: 牛哄哄的柯南* @Date: 2020/11/29 19:49**/
public class LargestPerimeterTriangle {/*定由一些正数(代表长度)组成的数组 A,返回由其中三个长度组成的、面积不为零的三角形的最大周长。如果不能形成任何面积不为零的三角形,返回 0。*/public static void main(String[] args) {Solution solution = new Solution();int []arr = new int[]{3,2,3,4};int result = solution.largestPerimeter(arr);System.out.println(result);}
}
// ***************这下面是提交的代码,上面的是方便自己测试用***********
class Solution {public int largestPerimeter(int[] A) {Arrays.sort(A);for (int i = A.length - 1; i >= 2; i--) {  //注意这里 i>= 2if (A[i] < A[i - 1] + A[i - 2]) {return A[i] + A[i - 1] + A[i - 2];}}return 0;}
}

运行结果:

10Process finished with exit code 0

看完如果对你有帮助,感谢点赞支持!
如果你是电脑端,看到右下角的 “一键三连” 了吗,没错点它[哈哈]


加油!

共同努力!

Keafmd

三角形的最大周长Java版(力扣)相关推荐

  1. 力扣有没有java_【Java】一篇文章带你玩转用Java刷力扣

    写在前面 我之前一直是以Golang为主语言的,最近开始转Java,包括平时刷题(欢迎来互粉哈:千杉沐雪的力扣)的语言也改为使用Java. 在转语言的过程中,总避免不了要频繁地查基本的语法和一些常见函 ...

  2. 【JAVA】力扣第198场周赛代码+解题思路——【排名第 1 ~ 300 名的参赛者可获「微软中国」简历内推机会】做对前两道就能排到268/ 5778(4.6%)

    目录 前言 一.题目:5464. 换酒问题 题解 代码 二.题目:5465. 子树中标签相同的节点数 题解 代码 三.题目:5466. 最多的不重叠子字符串 题解 代码 四.5467. 找到最接近目标 ...

  3. 【JAVA】力扣第197场周赛代码+解题思路

    目录 5460. 好数对的数目 解题锦囊 思路一:常规(未用解题锦囊) 代码 思路二:使用解题锦囊 5461. 仅含 1 的子串数 解题锦囊 代码 错误点 5211. 概率最大的路径 解题锦囊 代码 ...

  4. 力扣刷题pdf(java版本,内含暗黑版和光明版),都在这里了

    BAT大佬力扣刷题pdf,都在这里了! ​相信很多小伙伴刷题的时候面对力扣上近两千道题目,感觉无从下手! 我找了很久,今天终于让找到了Java版leetcode算法题解笔记,强烈建议先按照本篇介绍pd ...

  5. 力扣69-x的平方根(解决一个问题:我的答案和题解很像,但是为什么过不了?C++、Java版)

    正确的代码: class Solution { public:int mySqrt(int x) {int left = 0;int right = x;long long res = (right ...

  6. 滑动窗口算法框架(Java版)秒杀力扣题(76、567、438、3、485)

    一.声明 1.非常感谢东哥(labuladong)分享了**滑动窗口算法框架**: 2.我在理解了东哥的思想后,用Java实现了滑动窗口算法框架,一来方便自己学习,二来方便一些Java小伙伴: 3.再 ...

  7. java继承类长方形面积_java_java用接口、多态、继承、类计算三角形和矩形周长及面积的方法,本文实例讲述了java用接口、多 - phpStudy...

    java用接口.多态.继承.类计算三角形和矩形周长及面积的方法 本文实例讲述了java用接口.多态.继承.类计算三角形和矩形周长及面积的方法.分享给大家供大家参考.具体如下: 定义接口规范: /** ...

  8. 《LeetCode力扣练习》剑指 Offer 30. 包含min函数的栈 Java

    <LeetCode力扣练习>剑指 Offer 30. 包含min函数的栈 Java 一.资源 题目: 定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调 ...

  9. 《LeetCode力扣练习》剑指 Offer 29. 顺时针打印矩阵 Java

    <LeetCode力扣练习>剑指 Offer 29. 顺时针打印矩阵 Java 一.资源 题目: 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字. 示例 1: 输入:matr ...

最新文章

  1. 旋转矩阵、欧拉角、轴角
  2. Spring Boot+JWT+Shiro+MyBatisPlus 实现 RESTful 快速开发后端脚手架
  3. play store显示“从服务器检索信息时出错。DF-DFERH-01”问题解决
  4. SpringBoot异常处理的简单理解
  5. linux工具:ssh---未完
  6. 知道这些用于数据科学和机器学习的GitHub存储库和Reddit主题吗?
  7. (九十)使用多个storyboard+代码实现控制器的分开管理
  8. Spring Cloud笔记-eureka及openfeign基本使用
  9. MyBatis学习 之 三、动态SQL语句
  10. HTML meter控件
  11. 130号:SpringBoot使用AOP
  12. 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_04 IO字节流_1_IO概述(概念分类)...
  13. android测试tf卡读写速度,手机TF卡速度的研究经验sandisk/金士顿 C2,C4,C6测速软件测速图数据...
  14. 2021-07-30
  15. 学习plc编程需要掌握的知识点
  16. 2019-2022广汽埃安AIONS/AIONY/AIONV/AIONLX维修手册电路图技术资料
  17. ArcGIS批量裁剪栅格数据
  18. 模式识别实验之PCA人脸识别
  19. python学习笔记(七) os模块与窗体控制
  20. <视觉SLAM十四讲> 李群与李代数

热门文章

  1. Teleport 简易堡垒机系统
  2. 暴力突破 Gradle 自动化项目构建(八)- Android 对 Gradle 的扩展:Variants、Transform
  3. 苹果钥匙试玩_苹果和宝马如何改变您的车钥匙
  4. 基本任务1.2Java面向对象程序(挑战任务)
  5. msu文件无法运行_msu文件怎么安装,msu文件安装步骤方法详解
  6. 鸿蒙OS系统内测版官方下载,快手鸿蒙os测试版下载-快手鸿蒙os系统开源概念版v8.0.1.16128 OS版-007游戏网...
  7. 论文阅读:EfficientDet:可扩展且高效的目标检测
  8. Android app 上传到google play,需要设置 隐私政策声明,kotlin命令行传值
  9. ARM base instruction -- swp swpb
  10. 如何在IE11中设置兼容模式?设置的具体方法