LeetCode每日一题——三角形的最大周长

题目要求:

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

代码实现:

int cmp(const void* a, const void* b) {

return *(int*)a - *(int*)b;

}//用来比较大小

int largestPerimeter(int* nums, int numsSize) {

qsort(nums, numsSize, sizeof(int), cmp);

for (int i = numsSize - 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)

坚持编程,我一直在路上!

相关推荐
dragoooon343 小时前
[优选算法专题六.模拟 ——NO.40~41 外观数列、数青蛙]
数据结构·算法·leetcode
徐新帅3 小时前
CCF-GESP 等级考试 2025年3月认证C++一级真题解析
算法
陌路203 小时前
S16 排序算法--堆排序
算法·排序算法
烛衔溟3 小时前
C语言算法:排序算法入门
c语言·算法·排序算法·插入排序·冒泡排序·选择排序·多关键字排序
一匹电信狗3 小时前
【C++】封装红黑树实现map和set容器(详解)
服务器·c++·算法·leetcode·小程序·stl·visual studio
Laity______3 小时前
指针(2)
c语言·开发语言·数据结构·算法
是苏浙3 小时前
零基础入门C语言之C语言实现数据结构之顺序表经典算法
c语言·开发语言·数据结构·算法
爱学测试的雨果5 小时前
14:00面试,14:06就出来了,问的问题过于变态了。。。
面试·职场和发展
程序员三藏6 小时前
使用Docker和Selenium构建自动化测试环境
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
CoovallyAIHub6 小时前
空间智能!李飞飞、LeCun&谢赛宁联手提出“空间超感知”,长文阐述世界模型蓝图
深度学习·算法·计算机视觉