news 2026/5/1 10:37:39

力扣刷题:三个数的最大乘积

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
力扣刷题:三个数的最大乘积

题目:
给你一个整型数组 nums ,在数组中找出由三个数组成的最大乘积,并输出这个乘积。

示例 1:

输入:nums = [1,2,3]
输出:6

示例 2:

输入:nums = [1,2,3,4]
输出:24

示例 3:

输入:nums = [-1,-2,-3]
输出:-6

解析:
这道题思路很简单,先给数组排序,接下来使用贪心算法来解题:

贪心思路
最大乘积来源于两种情况(考虑有负数存在):

1 最大的三个正数:
nums[x] * nums[y] * nums[z](x < y < z,都是最大的)。

2 最小的两个负数 + 最大的一个正数:
因为负数相乘得到正数,再乘以最大正数可能很大。

因此,只需要考虑:

排序后,末尾三个数(最大的三个数)的乘积。
排序后,最小的两个数(可能是负数)和最大的一个数的乘积。

取两种情况的最大值即可。

具体代码:

/** * @param {number[]} nums * @return {number} */varmaximumProduct=function(nums){nums.sort((a,b)=>a-b)constn=nums.lengthreturnMath.max(nums[n-1]*nums[n-2]*nums[n-3],nums[0]*nums[1]*nums[n-1])};
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 6:54:15

心理健康评估:TensorFlow语音情绪识别

心理健康评估&#xff1a;TensorFlow语音情绪识别 在远程心理咨询日益普及的今天&#xff0c;一个关键问题浮出水面&#xff1a;如何在不依赖面对面观察的前提下&#xff0c;客观、持续地捕捉用户的情绪波动&#xff1f;传统的量表填写不仅耗时&#xff0c;还容易受到主观偏差和…

作者头像 李华
网站建设 2026/5/1 8:15:43

深入解析xv6-riscv:揭秘进程调度与内存管理的精妙设计

深入解析xv6-riscv&#xff1a;揭秘进程调度与内存管理的精妙设计 【免费下载链接】xv6-riscv Xv6 for RISC-V 项目地址: https://gitcode.com/gh_mirrors/xv/xv6-riscv xv6-riscv是基于RISC-V架构的教学操作系统&#xff0c;其进程调度与内存管理模块展现了操作系统核心…

作者头像 李华
网站建设 2026/5/1 3:49:12

Open-AutoGLM智能体如何安装?99%开发者忽略的2个核心依赖项曝光

第一章&#xff1a;Open-AutoGLM智能体安装前的环境准备在部署 Open-AutoGLM 智能体之前&#xff0c;必须确保系统环境满足其运行依赖。合理的环境配置不仅能提升安装成功率&#xff0c;还能保障后续任务执行的稳定性。操作系统与架构要求 Open-AutoGLM 当前支持主流 Linux 发行…

作者头像 李华
网站建设 2026/5/1 3:49:55

计算机图形学MFC项目实战:2D/3D图形绘制与交互体验

计算机图形学MFC项目实战&#xff1a;2D/3D图形绘制与交互体验 【免费下载链接】计算机图形学大作业C代码MFC终极版 本仓库提供了一份计算机图形学大作业的终极版C代码&#xff0c;基于MFC框架开发。该资源包含了丰富的2D和3D图形绘制功能&#xff0c;涵盖了直线、圆、多边形、…

作者头像 李华
网站建设 2026/5/1 3:51:05

如何快速安装MATLAB MPT工具箱:完整配置指南

MATLAB多参数工具箱&#xff08;MPT&#xff09;是参数优化和模型预测控制领域的强大工具&#xff0c;本文为您提供MPT 3.2.1工具箱的快速安装与配置方法。 【免费下载链接】MATLABMPT3.2.1工具箱安装指南 本仓库提供了一个资源文件&#xff0c;用于安装MATLAB MPT 3.2.1工具箱…

作者头像 李华
网站建设 2026/5/1 4:58:14

基于树莓派插针定义的多路数字信号采集

树莓派不止是玩具&#xff1a;用GPIO构建工业级多路数字信号采集系统 你有没有遇到过这样的场景&#xff1f; 产线上的十几个传感器要实时监控&#xff0c;但PLC太贵、Arduino又处理不了网络上报和数据存储。买个工控机吧&#xff0c;IO口太少还得配扩展模块——成本蹭蹭往上涨…

作者头像 李华