当前位置: 首页 > news >正文

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 表示函数提前结束并返回值。

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

http://www.dtcms.com/a/277424.html

相关文章:

  • 通过反射,提取 Cat 类 泛型 父类 接口 属性 的具体类型参数
  • 【一起来学AI大模型】部署优化推理加速:TensorRT-LLM
  • 华为交换机 undo negotiation auto功能(华为交换机端口接光纤两端起不来)
  • Jvm优化高手-笔记
  • Cursor精准上下文指定
  • 印度纱丽变革:传统靛蓝工艺在无性别斗篷中的延续
  • TensorFlow深度学习实战(24)——变分自编码器详解与实现
  • 基于Springboot+UniApp+Ai实现模拟面试小工具三:后端项目基础框架搭建上
  • AI 助力:如何批量提取 Word 表格字段并导出至 Excel
  • React强大且灵活hooks库——ahooks入门实践之生命周期类hook(lifecycle)详解
  • vite---环境变量和模式配置(.env 文件)
  • 【论文阅读】Think Only When You Need with Large Hybrid-Reasoning Models
  • Linux进程状态实战指南:转换关系、监控命令与状态解析
  • 【Linux | 网络】应用层(HTTP)
  • html-input 系列
  • 二进制、八进制、十进制、十六进制的转换
  • 用 Node.js 构建模块化的 CLI 脚手架工具,从 GitHub 下载远程模板
  • HarmonyOS-ArkUI Web控件基础铺垫1-HTTP协议-数据包内容
  • 【基于开源大模型(如deepseek)开发应用及其发展趋势的一点思考】
  • 早期 CNN 的经典模型—卷积神经网络(LeNet)
  • 在Linux文件写入软件设计中,直接写入SSD时磁盘写入抖动(I/O延迟波动)的解决方案
  • [CH582M入门第六步]软件IIC驱动AHT10
  • Leetcode 3613. Minimize Maximum Component Cost
  • Vue文件上传实战指南
  • 深入理解 Linux 文件系统层级结构
  • Python 数据挖掘之数据探索
  • CCS-MSPM0G3507-7-模块篇-MPU6050的基本使用
  • Spring Boot 安全登录系统:前后端分离实现
  • MYSQL笔记1
  • 黑马点评系列问题之p63unlock.lua不知道怎么整