leetcode 976. 三角形的最大周长

news/2024/12/13 4:46:52/

  • 题目描述
  • 解题思路
  • 执行结果
leetcode 976. 三角形的最大周长


题目描述

  1. 三角形的最大周长

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

提示:

3 <= nums.length <= 104 1 <= nums[i] <= 106

解题思路

法1

排序:

  1. 对数组进行排序

  2. 从后到前进行遍历,取相邻三个数,判断是否能构成三角形,

  3. 如果可以构成三角形,就输出三个数的和;如果不能就继续向前遍历.直到完全遍历数组,没有输出0

  • 时间复杂度(O(nlogn))
  • 空间复杂度(O(1))

执行结果

法1

首先对输入数组 nums 进行排序。

然后从数组的末尾开始,依次取三个数,判断它们是否可以组成一个面积不为零的三角形。

如果可以,就返回它们的和作为最大周长;如果找不到符合条件的三个数,就返回0。

func largestPerimeter(nums []int) int {
 sort.Ints(nums) // 将数组按照从小到大的顺序排序
 n := len(nums)
 for i := n - 1; i >= 2; i-- {
  if nums[i-2]+nums[i-1] > nums[i] {
   return nums[i-2] + nums[i-1] + nums[i] // 找到最大周长的三角形
  }
 }
 return 0 // 无法形成面积不为零的三角形
}

执行结果: 通过 显示详情 查看示例代码 添加备注

执行用时: 32 ms , 在所有 Go 提交中击败了 94.25% 的用户 内存消耗: 6.3 MB , 在所有 Go 提交中击败了 100.00% 的用户 通过测试用例: 84 / 84 炫耀一下:



本文由 mdnice 多平台发布


http://www.ppmy.cn/news/109818.html

相关文章

ARC学习(1)基本编程模型认识

笔者有幸接触了arc处理器&#xff0c;今天就来简单了解一下arc的编程模型 1、ARC基本认识 ARC IP是synopsys 新思公司开发的一个系列ARC IP核&#xff0c;其是一家电子设计自动化&#xff08;EDA&#xff09;解决方案提供商。其主页地址在这里&#xff01;业务主要如下&#x…

Go-channel的妙用

系列文章目录 异常处理(defer recover panic) Go-channel的妙用 文章目录 系列文章目录前言一、channel 通过通讯共享内存二、使用场景三、例子1.包 总结 前言 Go语言中&#xff0c;各个协程之间的通信&#xff0c;Go 语言协程之间通信的理念通过通信去共享内存。就是采用cha…

C语言system()函数

文章目录 C语言system()函数system(“pause”)system(“color num1num2”)system(“cls”)system(“title name”)system(“time /T”) & system(“date /T”) C语言system()函数 头文件&#xff1a; #include<stdlib.h>system(“pause”) 作用&#xff1a;暂停程序进…

14:00面试,14:06就出来了,问的问题有点变态。。。

从小厂出来&#xff0c;没想到在另一家公司又寄了。 到这家公司开始上班&#xff0c;加班是每天必不可少的&#xff0c;看在钱给的比较多的份上&#xff0c;就不太计较了。没想到5月一纸通知&#xff0c;所有人不准加班&#xff0c;加班费不仅没有了&#xff0c;薪资还要降40%,…

【C#图解教程】第四章 类型、存储和变量 学习笔记总结

类型 C#是一组类型声明&#xff0c;这个与第三章&#xff1a;命名空间就是一组类型声明可以一起理解。类型是一个用来创建数据结构的模板&#xff1a; 使用这个模板创建对象的过程叫做实例化&#xff0c;所以创建的对象也叫实例 类型成员 简单类型可能只包含一个数据成员&…

深度剖析 Vue.js 经典知识点之:SPA、SSR与MVVM

SPA 更多精彩内容&#xff0c;请微信搜索“前端爱好者“&#xff0c; 戳我 查看 。‘ 谈一谈你对 SPA 单⻚面的理解&#xff0c;它的优缺点分别是什么 SPA&#xff08; single-page application &#xff09;仅在 Web ⻚面初始化时加载相应的 HTML、JavaScript 和 CSS。 一旦…

mongdb常用查询

mongdb数据库和关系型数据库完全不同&#xff0c; 主要在数据结构存储和查询语法方面。mongdb是把数据存在文档里面&#xff0c;文档里面是一种bson格式的数据(类似json格式)&#xff0c;再通过mongdb的javascript语法取读取符合条件的文档内容用表的形式展示给我们。查询语句为…

数电/数字电子技术期末考前突击复习(小白稳过,看这一篇就够了)

博主&#xff1a;命运之光 专栏&#xff1a;期末考试必过and不挂科and争高分&#x1f636;‍&#x1f32b;️还有其他科目的考试突击日后会陆续更新 ✨✨✨✨✨点赞&#xff0c;关注&#xff0c;收藏不迷路✨✨✨✨✨ &#x1f984;前言&#xff1a;总结了期末数电大概率可能…