首页 > 其他分享 >leetcode976-三角形的最大周长

leetcode976-三角形的最大周长

时间:2022-09-02 17:23:26浏览次数:64  
标签:周长 nums int 元素 相邻 leetcode976 最优 排序 三角形

第一反应是排序,然后瞎想了很多什么双指针、三指针的东西。看了评论区才豁然开朗。

为什么排序遍历相邻元素可行,有没有可能最优解为非相邻元素?(不会)

证明:反证 假设 a , b, c 为最优解,且存在a',b',满足 a < a' < b < b' < c(存在非相邻元素)

  1. 由于 a + b > c,a < a', 有 a' + b > c,(a', b, c)优于(a, b, c),与(a, b, c)为最优解矛盾,故不存在a'
  2. b'同理不存在 由于 a + b > c, b < b',有a + b' > c,(a, b, c)为最优解矛盾,故不存在b'

因此最优解一定为排序后相邻元素

class Solution { public:     int largestPerimeter(vector<int>& nums) {         sort(nums.rbegin(),nums.rend());         for(int i=0;i<nums.size()-2;i++)         {             if(nums[i] < nums[i+1] + nums[i+2])             {                 return nums[i]+nums[i+1]+nums[i+2];             }         }         return 0;     } };

标签:周长,nums,int,元素,相邻,leetcode976,最优,排序,三角形
From: https://www.cnblogs.com/uacs2024/p/16650623.html

相关文章

  • Java控制台打印三角形
    for(inti=1;i<=5;i++){//最上面先是五个往下一次4.3.2.1for(intj=5;j>=i;j--){System.out.print("");}for(intj=1;......
  • 史上最简单的 《三角形判定》 面试题答案
     面试过程中,经常遇到要求写三角形判定测试用例,要求:利用等价类、边界值设计测试用例。直接把下面的用例背下来,默写一下就可以了。。  ......
  • 电机三角形接法、星形接法 比较
    电机三角形接法、星形接法比较角形接线时,三相电机每一个绕组承受线电压(380V),而星形接线时,电机每一承受相电压(220V),220线圈绕组耐压低。在电机功率相同的情况,角接电机的绕......
  • [数学] 三角形三条中线围成的面积
    题目在\(\triangle\text{ABC}\)中,\(\text{AD,BE,CF}\)分别是\(\text{BC,AC,AB}\)边上的中线,且三线交于点\(\text{G}\)。设\(S_{\triangle\text{ABC}}=S\),求\(\text{A......
  • 做题记录:P3166 [CQOI2014]数三角形
    题目链接题意:给定 (n+1)(m+1)(n+1)(m+1) 个点的网格图,任意投三个点,求三角形的个数。首先,不考虑三点共线的情况,方案数可以很轻松的得出来。在 (n+1)(m+1)(n+1)(m+1) ......
  • 最大周长(贪心)
    题意题目链接:https://www.acwing.com/problem/content/4608/数据范围\(3\leqn\leq3\times10^5\)思路首先需要注意的是,这里的距离指的是曼哈顿距离,而不是欧几里......
  • 最大周长
    最大周长给定二维平面上的$n$个不共线的点,这$n$个点组成的多边形是凸多边形。这些点按顺时针顺序依次编号为$1\simn$。我们将两点$p_1(x_1,y_1)$和$p_2(x_2,......
  • 练习7:使用for循环,用“*”输出一个直角三角形 、一个等腰三角形和一个梯形
    #题干:使用for循环,在屏幕上用'*'输出一个直角三角形、一个等腰三角形和一个梯形。图形的行数由用户input()输入确定,其他属性自己设置。'''**********'''#打印......
  • 练习:打印倒直角三角形
    """***************"""foriinrange(1,6):#外层循环控制行数,内层循环控制列数,因为有5行,所以是range(1,6)forjinrange(1,7-i):#第1行-->5次(1,6)2-->4......
  • 【学习笔记/模板】扫描线 周长并
    先开坑,晚上再写。P1856[IOI1998][USACO5.5]矩形周长PictureCode#include<cstdio>#include<algorithm>usingnamespacestd;constintMAXN=1e5+10;intn,......