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

【C++刷题】力扣-#628-三个数的最大乘积

题目描述

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

示例

示例 1

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

示例 2

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

示例 3

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

题解

这个问题可以通过排序和考虑正数与负数的组合来解决。

  1. 排序:首先对数组进行排序。
  2. 考虑情况:
    ○ 如果数组中包含负数,最大的乘积可能来自两个最小的负数(它们的乘积为正数)和一个最大的正数。
    ○ 如果数组中不包含负数,最大的乘积就是最大的三个数的乘积。
  3. 计算最大乘积:根据排序后的数组,计算上述两种情况的乘积,并返回较大的那个。

代码实现

int maximumProduct(vector<int>& nums) {sort(nums.begin(), nums.end());int n = nums.size();// 情况1: 两个最小的负数和一个最大的正数int product1 = nums[0] * nums[1] * nums[n - 1];// 情况2: 三个最大的正数int product2 = nums[n - 1] * nums[n - 2] * nums[n - 3];return max(product1, product2);
}

复杂度分析

● 时间复杂度:O(n log n),其中 n 是数组 nums 的长度。主要时间消耗在排序上。
● 空间复杂度:O(1),除了输入数组外,我们只使用了常数个额外变量。
这个算法通过排序和考虑两种可能的情况来计算最大乘积。

相关文章:

【C++刷题】力扣-#628-三个数的最大乘积

题目描述 给你一个整型数组 nums &#xff0c;在数组中找出由三个数组成的最大乘积&#xff0c;并输出这个乘积。 示例 示例 1 输入&#xff1a;nums [1,2,3] 输出&#xff1a;6示例 2 输入&#xff1a;nums [1,2,3,4] 输出&#xff1a;24示例 3 输入&#xff1a;nums […...

Java项目实战II基于Java+Spring Boot+MySQL的工程教育认证的计算机课程管理平台(源码+数据库+文档)

目录 一、前言 二、技术介绍 三、系统实现 四、文档参考 五、核心代码 六、源码获取 全栈码农以及毕业设计实战开发&#xff0c;CSDN平台Java领域新星创作者&#xff0c;专注于大学生项目实战开发、讲解和毕业答疑辅导。获取源码联系方式请查看文末 一、前言 随着工程教…...

基于微信小程序实现信阳毛尖茶叶商城系统设计与实现

作者简介&#xff1a;Java领域优质创作者、CSDN博客专家 、CSDN内容合伙人、掘金特邀作者、阿里云博客专家、51CTO特邀作者、多年架构师设计经验、多年校企合作经验&#xff0c;被多个学校常年聘为校外企业导师&#xff0c;指导学生毕业设计并参与学生毕业答辩指导&#xff0c;…...

设计一个灵活的RPC架构

RPC架构 RPC本质上就是一个远程调用&#xff0c;需要通过网络来传输数据。传输协议可以有多种选择&#xff0c;但考虑到可靠性&#xff0c;一般默认采用TCP协议。为了屏蔽网络传输的复杂性&#xff0c;需要封装一个单独的数据传输模块用来收发二进制数据&#xff0c;这个单独模…...

大数据计算里的Broadcast Hash Join/Shuffle Hash Join/Sort Merge Join

文章目录 Broadcast Hash Join场景 Shuffle Hash Join场景 Sort Merge Join场景 Broadcast Hash Join 场景 大表和小小表&#xff0c;直接把B表加载到内存&#xff0c;然后读块1内容和内存中数据匹配 Shuffle Hash Join 场景 大表和小表JOIN &#xff0c;小表分块后能加载…...

Java - 手写识别; 如何用spring ai和大模型做手写识别教程

识别后的文字 利用大模型提升Java手写识别&#xff1a;更简单、更高效 在Java场景中&#xff0c;我们经常需要处理手写识别的问题。过去&#xff0c;这类需求主要依赖于OCR技术&#xff0c;但其效果并不总是稳定。随着大模型的发展&#xff0c;使用大模型进行java手写识别成为…...

【Linux】用户权限管理:创建受限用户并配置特定目录访问权限

本文详细介绍了如何在 Linux 系统中创建一个名为 agent 的新用户&#xff0c;并限制其在特定目录下的权限。通过使用 useradd 命令创建用户&#xff0c;并使用 usermod 命令将新用户添加到现有用户组中&#xff0c;确保其具有适当的权限。接着&#xff0c;通过 chown 和 chmod …...

pgsql表分区和表分片设计

在设计 PostgreSQL 表分区和表分片时&#xff0c;主要目标是提高查询性能、可扩展性和数据管理的效率。以下是一些关键的设计步骤和策略&#xff1a; 1. 分区策略 水平分片&#xff1a;选择按日期进行水平分片&#xff0c;每天一个分片。这种策略适用于具有时间序列数据的场景…...

灵动AI ——视频创作新引擎 开启视觉奇幻之旅

灵动AI视频官网地址&#xff1a;https://aigc.genceai.com/ 灵动AI 科技与艺术的完美融合之作。它代表着当下最前沿的影像技术&#xff0c;为我们带来前所未有的视觉盛宴。...

AI设计、作图、画画工具哪个好用?看完这篇你就知道怎么选了

Stable Diffusion Stable Diffusion 是由 Stability AI 推出的开源 AI 文本到图像生成模型&#xff0c;以其开放性和灵活性在 AI 视觉工具领域广受欢迎。与 DALL-E 或 Midjourney 等只能依赖云计算的工具不同&#xff0c;Stable Diffusion 支持本地运行&#xff0c;也广泛兼容多…...

【python ASR】win11-从0到1使用funasr实现本地离线音频转文本

文章目录 前言一、前提条件安装环境Python 安装安装依赖,使用工业预训练模型最后安装 - torch1. 安装前查看显卡支持的最高CUDA的版本&#xff0c;以便下载torch 对应的版本的安装包。torch 中的CUDA版本要低于显卡最高的CUDA版本。2. 前往网站下载[Pytorch](https://pytorch.o…...

myqld二进制安装和破解数据库密码(linux)

安装和基本配置 1.首先把下载下来的mysql安装包放到本地这里下载的是5.7版本为演示 1&#xff09;解压 tar xf mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz -C /usr/local -把安装包解压到/usr/local cd /usr/local …...

防重方案-订单防重方案笔记

订单防重设计 订单重复提交概念解决方案前端防重机制后端防重机制利用Token机制基于数据库的唯一索引 Token机制方案介绍 其他 订单重复提交概念 重复提交指&#xff0c;连点按钮进行重复提交操作&#xff0c;不包括刷新后的重新下单&#xff0c;重新下单已非同一订单的概念。…...

HTML、JavaScript和CSS实现注册页面设计

目录 一、实现要求 二、实现页面图 1、注册页面 2.用户ID、用户名、口令验证成功后显示页面 三、用户ID、用户名、口令、确定口令验证逻辑js代码 1、验证用户ID 2、验证用户名 3、验证口令密码 四、总结 五、代码仓库 一、实现要求 综合使用HTML、JavaScript和CSS进…...

Counter对象的使用样例

1. Counter类的定义和功能说明 Counter是一个用于跟踪值出现次数的有序集合。它可以接收一个可迭代对象作为参数&#xff0c;并生成一个字典&#xff0c;其中包含每个元素作为键&#xff0c;其计数作为值。 2. 统计列表或字符串中元素的出现次数 示例代码&#xff1a; from…...

大模型中的token是什么;常见大语言模型的 token 情况

目录 大模型中的token是什么 常见大语言模型的 token 情况 大模型中的token是什么 定义 在大模型中,token 是文本处理的基本单位。它可以是一个字、一个词,或者是其他被模型定义的语言单元。简单来说,模型在理解和生成文本时,不是以完整的句子或段落为单位进行一次性处理…...

Python小白学习教程从入门到入坑------第十七课 内置函数拆包(语法基础)

一、内置函数 1.1 查看所有内置函数 内置函数&#xff1a;Python 提供了许多内置函数&#xff0c;这些函数无需导入任何模块即可直接使用。它们涵盖了各种用途&#xff0c;从数学运算到类型检查&#xff0c;再到输入输出操作等。 如何查看内置函数呢&#xff1f; 在Pycharm…...

动态规划 —— 路径问题-最小路径和

1. 最小路径和 题目链接&#xff1a; 64. 最小路径和 - 力扣&#xff08;LeetCode&#xff09;https://leetcode.cn/problems/minimum-path-sum/description/ 2. 算法原理 状态表示&#xff1a;以莫一个位置位置为结尾 dp[i&#xff0c;j]表示&#xff1a;到达[i&#xff0c;j…...

《链表篇》---删除链表的倒数第N个节点(中等)

题目传送门 方法一&#xff1a;计算链表长度&#xff08;迭代&#xff09; 1.计算链表长度&#xff0c;并且定义哑节点链接链表。 2.从哑节点开始前进length-n次。即为被删除节点的前置节点。 3.进行删除操作。 4.返回哑节点的后置节点 class Solution {public ListNode remo…...

duilib 进阶 之 TileListBox 列表

目录 一、TileListBox 1、样式 1)、整体列表分列设置 2)、列表项样式设置 3)、选中后出现√号,horver时 出现边框色 的实例 2、代码 1)、普通动态添加列表项 2)、列表项样式中有自定义控件时 3)、获得选中项 一、TileListBox Tile [taɪl] ,瓦片 棋子 Ti…...

在自动化脚本中使用Taotoken实现多模型备援与降级策略

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 在自动化脚本中使用Taotoken实现多模型备援与降级策略 构建高可用的AI应用时&#xff0c;服务的稳定性直接影响终端用户体验。当单…...

【APP分发系统二开版】app打包一键免IOS免签封包分发平台源码 带绿标

内容目录一、详细介绍二、效果展示1.部分代码2.效果图展示三、学习资料下载一、详细介绍 60gx版APP分发系统在线IOS免签封包分发平台源码免签封装带绿标已对接码支付 这个源码某站卖300&#xff0c;主要是因为他有几个功能比较好。 支持一键IOS在线免签封装。买源码可免费协助…...

Camunda流程版本管理避坑指南:从Version Tag查询到迁移验证,这些细节决定成败

Camunda流程版本管理实战精要&#xff1a;从精准查询到安全迁移的全链路策略 在企业级流程自动化领域&#xff0c;Camunda作为领先的工作流引擎&#xff0c;其版本管理机制直接影响着业务系统的稳定性和迭代效率。本文将深入剖析版本管理的核心痛点&#xff0c;提供一套覆盖全…...

Vivado里AXI总线到底要不要用SmartConnect?一个工程实例帮你彻底搞懂

Vivado中AXI总线SmartConnect的实战抉择&#xff1a;从工程现象到本质解析 在FPGA开发中&#xff0c;AXI总线的灵活性和复杂性常常让初学者陷入两难——特别是当Vivado工具给出多种连接选项时。SmartConnect这个看似简单的IP核&#xff0c;到底该不该用&#xff1f;为什么有些…...

保姆级教程:搞定EVE-NG客户端与SecureCRT/Wireshark的完美关联(附常见问题修复)

EVE-NG高阶工具链集成&#xff1a;SecureCRT与Wireshark深度调优指南 当网络工程师从基础实验迈入复杂拓扑模拟时&#xff0c;EVE-NG与专业工具链的协同工作能力直接决定实验效率。本文将深入解析SecureCRT会话管理与Wireshark抓包分析两大核心组件的集成优化方案&#xff0c;涵…...

Real-ESRGAN终极指南:让模糊图像瞬间清晰的AI魔法

Real-ESRGAN终极指南&#xff1a;让模糊图像瞬间清晰的AI魔法 【免费下载链接】Real-ESRGAN Real-ESRGAN aims at developing Practical Algorithms for General Image/Video Restoration. 项目地址: https://gitcode.com/gh_mirrors/re/Real-ESRGAN 你是否曾经为那些模…...

Windows Defender终极控制:开源工具defender-control完全指南

Windows Defender终极控制&#xff1a;开源工具defender-control完全指南 【免费下载链接】defender-control An open-source windows defender manager. Now you can disable windows defender permanently. 项目地址: https://gitcode.com/gh_mirrors/de/defender-control…...

5步掌握网易云音乐无损下载的终极方案:轻松获取专业级FLAC音乐资源

5步掌握网易云音乐无损下载的终极方案&#xff1a;轻松获取专业级FLAC音乐资源 【免费下载链接】NeteaseCloudMusicFlac 根据网易云音乐的歌单, 下载flac无损音乐到本地.。 项目地址: https://gitcode.com/gh_mirrors/nete/NeteaseCloudMusicFlac 还在为在线音乐平台的音…...

别急着换件!汇川伺服报Er.136/Er.740编码器故障,先按这3步自查(附线缆选购建议)

汇川伺服编码器故障排查指南&#xff1a;从干扰溯源到线缆优化 工业现场最让人头疼的莫过于设备间歇性抽风——明明昨天还运行良好&#xff0c;今天却频繁报Er.136或Er.740编码器故障。作为经历过数十次类似案例的技术老兵&#xff0c;我必须强调&#xff1a;80%的编码器问题根…...

【求职】衡量你职场流通性的,从来不是你的能力

衡量你职场流通性的&#xff0c;从来不是你的能力先问你一个问题。 你上一次被猎头主动联系&#xff0c;是什么时候&#xff1f; 如果你需要认真回忆&#xff0c;那这篇文章&#xff0c;你需要认真读完。一、"流通性"是个被严重低估的职场变量 大多数人谈职业发展&am…...