【数组】628. 三个数的最大乘积(简单)

LeetCode:628 三个数最大乘积 贪心 题目描述 给定一个整型数组,在数组中找出由三个数组成的最大乘积,并输出这个乘积。 示例 1: 输入: [1,2,3] 输出: 6 示例 2: 输入: [1,2,3,4] 输出: 24 注意: 给定的整型数组长度范围是[3,104],数组中所有的元素范围是[-1000, 1000]。 输入的数组中任意三个数的乘积不会超出32位有符号整数的范围。 来源:力扣(LeetCode) 链接:https:/... 阅读详情

【题目】
给定一个整型数组,在数组中找出由三个数组成的最大乘积,并输出这个乘积。
【示例 1】
输入: [1,2,3]
输出: 6
【示例 2】
输入: [1,2,3,4]
输出: 24
【注意】
给定的整型数组长度范围是[3,104],数组中所有的元素范围是[-1000, 1000]。
输入的数组中任意三个数的乘积不会超出32位有符号整数的范围。
【代码】

class Solution {
public:
    int maximumProduct(vector<int>& nums) {
        sort(nums.begin(),nums.end());
        int len=nums.size();     
        int max3_3=max(nums[len-1]*nums[len-2]*nums[len-3],nums[len-1]*nums[1]*nums[0]);
        return max3_3;
    }
};

【线性方法】

class Solution {
public:
    int maximumProduct(vector<int>& nums) {
        int min1 = 1111, min2 = 1111;
        int max1 = -1111, max2 = -1111, max3 = -1111;
        for (int n: nums) {
            if (n <= min1) {
                min2 = min1;
                min1 = n;
            } else if (n <= min2) {     // n lies between min1 and min2
                min2 = n;
            }
            if (n >= max1) {            // n is greater than max1, max2 and max3
                max3 = max2;
                max2 = max1;
                max1 = n;
            } else if (n >= max2) {     // n lies betweeen max1 and max2
                max3 = max2;
                max2 = n;
            } else if (n >= max3) {     // n lies betwen max2 and max3
                max3 = n;
            }
        }
        return max(min1 * min2 * max1, max1 * max2 * max3);
    }
};
华为od 面试八股文_C++_04_含答案 阅读详情

相关推荐

FastFlowLM:AMD NPU本地大模型部署实战指南

大语言模型本地部署正从GPU向端侧AI芯片演进,AMD NPU作为Ryzen AI处理器的核心加速单元,具备低功耗、高能效的端侧推理潜力。其XDNA架构并非简化GPU,而是专为INT4/FP16张量运算优化的固定功能加速器,但面临ROCm生态不成熟、KV缓存受限、量化适配失衡等工程瓶颈。FastFlowLM通过直连ROCm底层API、DMA驱动的流式KV缓存、FP16权重+INT8激活协同量化等关键技术,实现NPU硬件资源的深度榨取。它适用于锐龙7040/8040系列笔记本及AI PC商用场景,在无外接电源

weixin_34279184的博客 483

【JS】数组中三个数的最大乘积

给定一个整型数组,在数组中找出由三个数组成的最大乘积,并输出这个乘积。 示例 1: 输入: [1,2,3,4] 输出: 24 注意: 示例 2: 输入: [-1000,-1000,-1000] 输出: -1000000000 注意: 示例 3: 输入: [-4,-3,-2,-1,60] 输出: 720 注意: 示例 4: 输入: [722,951,999,-879,-858,803,903...

大白菜啊 2379

rv1126 读取sensor输入,输出到屏幕显示【RK_MPI API接口】

rv1126 libdrm VO

学习记录 1万+

js求数组中三个数的最大乘积

思路分析:将数组先排序。如果全是正数,则最后三位数的乘积最大。若有负数,则最小两位数相乘后再和最后一位数相乘,和最后三位数的乘积比较,取较大的。 实现方法一 数组排序; 计算数组最后三项的乘积; 计算数组前两项和最后一项的乘积; 取计算结果较大者。 // An highlighted block function maxThreeSum (array) { var sort_arra...

sunshine215的博客 1160

氮化镓GaN电机驱动实战:从器件原理到EPC驱动中心

电机驱动是工业自动化和电动交通的核心,功率器件的选择直接决定系统效率与可靠性。传统硅基IGBT和MOSFET在开关速度、损耗方面存在瓶颈,而氮化镓(GaN)作为宽禁带半导体,凭借高电子迁移率、低栅极电荷和近乎为零的反向恢复电荷,正成为电机驱动领域的热门选择。EPC建立电机驱动中心,提供完整的评估平台,覆盖从低压家电到中压伺服的应用场景。文章从GaN器件原理出发,对比传统硅器件,详解三相BLDC/PMSM驱动系统的搭建、栅极驱动与Layout设计、死区时间设置及参数计算实例,并分享测试中遇到的振铃、EMI等高

weixin_29168675的博客 327

[QMT量化交易小白入门]-七十九、增加标的后,五年回测收益率达到了2493%

本专栏主要是介绍QMT的基础用法,常见函数,写策略的方法,也会分享一些量化交易的思路,大概会写100篇左右。QMT的相关资料较少,在使用过程中不断的摸索,遇到了一些问题,记录下来和大家一起沟通,共同进步。

木头大左的博客 1580

628. 三个数的最大乘积

给定一个整型数组,在数组中找出由三个数组成的最大乘积,并输出这个乘积。 示例 1: 输入: [1,2,3] 输出: 6 示例 2: 输入: [1,2,3,4] 输出: 24 注意: 给定的整型数组长度范围是[3,104],数组中所有的元素范围是[-1000, 1000]。 输入的数组中任意三个数的乘积不会超出32位有符号整数的范围。 思路1: 比较慢 //方法1 public int m...

try to do 170

大模型部署指南:LM Studio

本文介绍使用LM Studio部署大模型

举世誉之而不加劝,举世非之而不加沮,定乎内外之分,辩乎荣辱之境,斯已矣。 1953

(js)leetcode 628. 三个数的最大乘积

题目: 给你一个整型数组 nums ,在数组中找出由三个数组成的最大乘积,并输出这个乘积。 示例 1: 输入:nums = [1,2,3] 输出:6 示例 2: 输入:nums = [1,2,3,4] 输出:24 示例 3: 输入:nums = [-1,-2,-3] 输出:-6 提示: 3 <= nums.length <=104 -1000 <= nums[i] <= 1000 思路: 先将数组进行排序 如果数组中全是非负数,则排序后最大的三个数相乘即为.

M_Eve的博客 388

YOLO11改进策略【独家融合改进】| EfficientViMBlock + LGAG + DySample

通过学习采样来学习上采样DySample。

Limiiiing的博客 364

GEE高阶应用——如何绘制2000-2022年土地利用变化轨迹时序图

土地利用变化是指在一定时间范围内,土地利用类型和结构发生的变化。时序变化是指这种变化随时间的推移而发生的序列变化。土地利用变化轨迹的时序变化具体介绍如下:首先,土地利用变化轨迹的时序变化体现在土地利用类型的演变上。在过去的几十年里,随着人口的增加、经济的发展和城市化的推进,土地利用类型发生了显著的变化。传统的农田逐渐减少,而城市、工业、交通、居住等用地的面积不断扩大。同时,随着环境保护意识的提高,生态保护用地、森林、湿地等绿色用地的面积也在增加。

此星光明博客 1114

LeetCode刷题-三个数的最大乘积

前言说明 算法学习,日常刷题记录。 题目连接 三个数的最大乘积 题目内容 给你一个整型数组nums,在数组中找出由三个数组成的最大乘积,并输出这个乘积。 示例1: 输入:nums = [1,2,3] 输出:6 示例2: 输入:nums = [1,2,3,4] 输出:24 示例3: 输入:nums = [-1,-2,-3] 输出:-6 提示: 3 <= nums.length <= 10^4 -1000 <= nums[i] <= 1000 分析过程 分三种情况分析。

纯洁的博客 661

【WRF-Urban数据集】中国60个城市的1 km分辨率城市冠层参数(UCPs)

中国60个城市的1 km分辨率城市冠层参数(UCPs)

WW、forever的博客 1069

数组简单 牛客NC.106三个数的最大乘积 leetcode628. 三个数的最大乘积

628. 三个数的最大乘积 题目描述 给定一个整型数组,在数组中找出由三个数组成的最大乘积,并输出这个乘积 思路 数组排序,然后最小两个数和最大值乘积的结果与最大三个数的乘积结果比较大小 遍历数组寻找并记录最大的三个数,最小的两个数。 寻找记录最大值,最小值 import java.util.Arrays; class Solution { public int maximumProduct(int[] nums) { int max1 = Integer.MIN_VALUE,

31楼下小黑的博客 260

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

力扣刷题记录#数组#简单#628三个数的最大乘积

题目描述 给定一个整型数组,在数组中找出由三个数组成的最大乘积,并输出这个乘积。 示例 输入: [1,2,3] 输出: 6 输入: [1,2,3,4] 输出: 24 解答 列表里的数有三种情况: 1.全为负数,包括0 2.全为正数,包括0 3.正负都有,包括0 将数组排序,最大的乘积有两种情况: 1.两个最小负数(绝对值最大)+最大正数 2.三个最大正数 class Solution(object...

阿刷的博客 201

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

2020-11-25 #628 三个数的最大乘积(数组、简单)

题目描述 题解来源:chun-nuan-hua-kai-11 给定一个整型数组,在数组中找出由三个数组成的最大乘积,并输出这个乘积。 示例 1: 输入: [1,2,3] 输出: 6 示例 2: 输入: [1,2,3,4] 输出: 24 注意: 给定的整型数组长度范围是[3,104],数组中所有的元素范围是[-1000, 1000]。 输入的数组中任意三个数的乘积不会超出32位有符号整数的范围。 代码展示 首先是我写的一般的代码: class Solution { public: int m

qq_40935464的博客 140

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

24.<tag-数组和简单的遍历, 双指针>-lt- 674. 最长连续递增序列 + lt- 611. 有效三角形的个数 + lt-628. 三个数的最大乘积 ☆

文章目录lt- 674. 最长连续递增序列lt- 611. 有效三角形的个数lt-628. 三个数的最大乘积 lt- 674. 最长连续递增序列 [案例需求] [思路分析] 根据题目可知, 我们是对最长的连续递增序列进行计数, 所以肯定要维护一个计数器, 可以设置一个变量count作为计数, 由于数组中的连续递增序列有多个, 所以我们肯定还要另外设置一个res作为答案, 每遍历完其中的一个连续递增序列, 首先count设置为1(最短长度为1), 因为后面还会有递增序列等待遍历, 然后每次对cout遍历完

菜菜的大数据开发の路 497

Java实现 LeetCode 628 三个数的最大乘积(暴力大法)

628. 三个数的最大乘积 给定一个整型数组,在数组中找出由三个数组成的最大乘积,并输出这个乘积。 示例 1: 输入: [1,2,3] 输出: 6 示例 2: 输入: [1,2,3,4] 输出: 24 注意: 给定的整型数组长度范围是[3,104],数组中所有的元素范围是[-1000, 1000]。 输入的数组中任意三个数的乘积不会超出32位有符号整数的范围。 PS: 两种可能,一种全是正数, 一...

南 墙 1万+

leetcode 152乘积最大子序列 628 三个数的最大乘积

leetcode 152乘积最大子序列题目描述解答 题目描述 给定一个整数数组 nums ,找出一个序列中乘积最大的连续子序列(该序列至少包含一个数)。 示例 1: 输入: [2,3,-2,4] 输出: 6 解释: 子数组 [2,3] 有最大乘积 6。 示例 2: 输入: [-2,0,-1] 输出: 0 解释: 结果不能为 2, 因为 [-2,-1] 不是子数组。 来源:力扣(LeetCode)...

clearlove_7的博客 348

【LeetCode】628. 三个数的最大乘积

题目链接:https://leetcode-cn.com/problems/maximum-product-of-three-numbers/ 难度:简单 题目描述 给定一个整型数组,在数组中找出由三个数组成的最大乘积,并输出这个乘积。 测试数据 示例 1: 输入: [1,2,3] 输出: 6 示例 2: 输入: [1,2,3,4] 输出: 24 注意: 给定的整型数组长度范围是[3,104],数组中所有的元素范围是[-1000, 1000]。 输入的数组中任意三个数的乘积不会超出.

一定要站在自己热爱的生活里闪闪发光 2万+

C++/Python描述 628. 三个数的最大乘积

C++/Python描述 628. 三个数的最大乘积   大家好,我叫亓官劼(qí guān jié ),在优快云中记录学习的点滴历程,时光荏苒,未来可期,加油~博主目前仅在优快云中写博客,唯一博客更新的地址为:亓官劼的博客 ,同时正在尝试在B站中做一些内容分享,B站主页为: 亓官劼的B站主页 本文原创为亓官劼,请大家支持原创,部分平台一直在恶意盗取博主的文章!!! 若需联系博主,可以联系本人微信:qiguanjie2015 题目 给定一个整型数组,在数组中找出由三个数组成的最大乘积,

一起加油 1336

LeetCode 628. 三个数的最大乘积

LeetCode 628. 三个数的最大乘积

lolly1023的博客 1062

leetcode-628-三个数的最大乘积-C语言

/* * 算法思想: * 堆排序思想,三次构建大顶堆,将最大的三个数组转移到数组最后; * 两次构建最小堆,将最小的两个数组转移到数组的最前面; * 求最小的两个数字和最大数字乘积以及最大三个数乘积中最大的那个即为结果。 * */ void swap(int *a, int *b){ int c = *a; *a = *b; *b = c; } void h...

SFFS 586

Leetcode 628. 三个数的最大乘积 C++

Leetcode 628. 三个数的最大乘积 题目 给定一个整型数组,在数组中找出由三个数组成的最大乘积,并输出这个乘积。 测试样例 示例 1: 输入: [1,2,3] 输出: 6 示例 2: 输入: [1,2,3,4] 输出: 24 注意: 给定的整型数组长度范围是[3,104],数组中所有的元素范围是[-1000, 1000]。 输入的数组中任意三个数的乘积不会超出32位有符号整数的范围。 题解 贪心 三个数的的最大乘积,要么是最大的三个数的乘积,要么是最小的两个数和最大的数的乘积。前者是全为正

weixin_43750513的博客 462

C#LeetCode刷题之#628-三个数的最大乘积( Maximum Product of Three Numbers)

问题 给定一个整型数组,在数组中找出由三个数组成的最大乘积,并输出这个乘积。 输入: [1,2,3] 输出: 6 输入: [1,2,3,4] 输出: 24 注意: 给定的整型数组长度范围是[3,104],数组中所有的元素范围是[-1000, 1000]。 输入的数组中任意三个数的乘积不会超出32位有符号整数的范围。 Given an integer array, find ...

比特飞 1万+

排序题目:三个数的最大乘积

根据上述分析可知,当乘积最大时,三个数的可能情况有两种,一是选数组中最大的三个数,二是选数组中最大的一个数与最小的两个数。如果数组中的所有元素都是负数,则任意三个数的乘积都是负数,为了使乘积最大应该使乘积的绝对值最小,数组中的最大三个数即为绝对值最小的三个数,乘积即为最大乘积。由于计算最大乘积只需要得到数组中最大的三个元素与最小的两个元素,并不需要得到所有元素的顺序,因此可以直接遍历数组找到最大的两个元素。如果数组中的所有元素都是非负数,则任意三个数的乘积都是非负数,数组中的最大三个数的乘积即为最大乘积。

stormsunshine的博客 743
上一篇: 【数组】66. 加一(简单)
下一篇: 【数组】1018. 可被 5 整除的二进制前缀(简单)
菜菜2022
博客等级 码龄9年 67粉丝 1033原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值