题目描述

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

解题分析

因为要取最大值,所以要先从小到大排序,然后从最大处开始判断。假设最长边是最后下标,另外两条边是倒数第二和第三下标,则此时三角形周长最大n < (n-1) + (n-2),如果不成立,意味着该数组中不可能有另外两个值之和大于n,此时将n左移,重新计
算。

代码

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

参考视频链接:https://b23.tv/bxPCxf

贪心算法|三角形的最大周长相关推荐

  1. LeetCode:贪心算法(30道经典题目)

    LeetCode:贪心算法 求解最优化的问题常常会有一系列的步骤,而每个步骤往往会面临着选择.贪心算法在每一步都做出最优解,寄希望于通过局部最优解来获得全局最优解.贪心算法往往是这种自顶向下的设计,先 ...

  2. 拜托,别再问我贪心算法了!

    来自:码海 前言 上篇一文学会动态规划解题技巧 被不少号转载了,其中发现有一位读者提了一个疑惑,在求三角形最短路径和时,能否用贪心算法求解.所以本文打算对贪心算法进行简单地介绍,介绍完之后我们再来看看 ...

  3. 贪心算法+回溯算法+动态规划

    一.贪心算法 1.分饼干问题 #思路:排序加贪心 先让胃口小的孩子满足 class Solution:def findContentChildren(self, g, s):print('==g:', ...

  4. 贪心算法,递归算法,动态规划算法比较与总结

    一般实际生活中我们遇到的算法分为四类: 一>判定性问题        二>最优化问题        三>构造性问题        四>计算性问题 而今天所要总结的算法就是着重解 ...

  5. 算法设计与分析-TSP六种方法-贪心算法(最近邻点、最短链接)、蛮力法、动态规划法、回溯法、分支限界法、模拟退火

    旅行商问题,即TSP问题(Travelling Salesman Problem)又译为旅行推销员问题.货郎担问题,是数学领域中著名问题之一.假设有一个旅行商人要拜访n个城市,他必须选择所要走的路径, ...

  6. 蓝桥杯python省赛冲刺篇2——常用算法的详细解析及对应蓝桥杯真题:打表模拟法、递推递归法、枚举法、贪心算法、差分与前缀和

    注意:加了题目链接 目录 注意:加了题目链接 一.打表模拟法 介绍 1. 算式问题 题目描述 解析与代码演示 2. 求值 题目描述 解析与代码演示 3. 既约分数 题目描述 解析与代码演示 4. 天干 ...

  7. 贪心算法求解 TSP 旅行商问题及其实现

    文章目录 一.TSP 概述 1. TSP 2. 数学模型 3. TSP分类 二.贪心算法 1. 算法思路 2. 算法框架 3. 问题 三.贪心算法求解 TSP 一.TSP 概述 1. TSP 旅行商问 ...

  8. 三角形的最大周长Java版(力扣)

    三角形的最大周长 给定由一些正数(代表长度)组成的数组 A,返回由其中三个长度组成的.面积不为零的三角形的最大周长. 如果不能形成任何面积不为零的三角形,返回 0. 示例 1: 输入:[2,1,2] ...

  9. 算法学习--动态规划与贪心算法

    动态规划与贪心算法都是一种递推算法,都是用局部最优解来推导全局最优解:是对遍历解空间的一种优化:当问题具有最优子结构时,可以用动态规划来解决,而贪心算法是动态规划的特例 动态规划 1. 动态规划的思想 ...

最新文章

  1. 通过抓包获取服务器的IP地址
  2. tcp/ip 协议栈Linux源码分析三 IPv4分片报文重组分析三
  3. 事物处理@Transactional
  4. web.xml文件报红,怎么解决???
  5. vant按需引入没样式_vue vant-ui样式出不来的问题
  6. Python系列之入门篇——HDFS
  7. python怎么换行继续写脚本_python怎么换行继续写脚本
  8. vue 拖拽元素到任意位置
  9. VK1S68C中文资料
  10. valgrind 内存泄露检测
  11. ffmpeg: 一款跨平台开源媒体格式转换器
  12. 韦根协议 wiegand
  13. 数字后端设计中的时钟
  14. 嚼一嚼 class 文件结构
  15. 键盘的工作原理和分类
  16. 免费下载英文文献的网站
  17. 计算机局域网切换,怎么进入别人电脑--局域网【详解】
  18. springboot中整合mybatis及简单使用
  19. 机器学习中qa测试_学会区分人工智能和机器学习,并了解QA测试方法
  20. KPI、KPA、OKR三者的区别

热门文章

  1. 从Windows 10上下文菜单中删除SkyDrive Pro选项
  2. android手表怎样刷机包,刷机精灵V2.1.2发布 智能手表也能一键刷机
  3. 2014-6-10 工作还顺心不
  4. 机械键盘的修理方法是什么
  5. excel表格计算机簇状图,excel表格怎么绘制簇状柱形图
  6. 计算机函数Dmax怎么算,Excel数据库函数
  7. Java机票购买系统
  8. 初学JAVA 望大家给点帮助
  9. 2020级C语言大作业 - 以撒的结合
  10. 自动生成艾宾浩斯记忆规律背单词时间表的Matlab脚本