ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

LeetCode|Day9|976. 三角形的最大周长|Python刷题笔记

2026/8/15 9:18:55 拓冰建站 浏览量
LeetCode|Day9|976. 三角形的最大周长|Python刷题笔记

LeetCode|Day9|976. 三角形的最大周长|Python刷题笔记

🗓️ 本文属于【LeetCode 简单题百日计划】系列
👉 点击查看系列总目录 >>


📌 题目简介

题号:976. 三角形的最大周长
难度:简单
题目链接:点击跳转


🧾 题目描述(简要)

给定一个正整数数组 nums,从中选出三个数,使得它们可以构成一个三角形,并返回其最大周长。如果无法构成任何三角形,返回 0。

示例:

输入:nums = [2,1,2]
输出:5
解释:可以组成三角形,周长是 2 + 2 + 1 = 5

💡 解法:排序 + 贪心判断三角形

class Solution:def largestPerimeter(self, nums: list[int]) -> int:nums.sort(reverse=True)for i in range(len(nums) - 2):if nums[i] < nums[i+1] + nums[i+2]:return nums[i] + nums[i+1] + nums[i+2]return 0

🧠 我的理解

  • 三角形的性质:任意两边之和 > 第三边
  • 所以我们排序后,从大到小遍历,寻找第一个满足三角形条件的三元组;
  • 因为我们从大到小遍历,遇到的第一个合法三角形就是最大周长。

📌 基础语法复习:

  • nums.sort(reverse=True):降序排序;
  • range(len(nums) - 2):防止越界访问 i+1i+2
  • return 表示函数提前结束并返回值。

📌 返回总目录:点我回目录