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

lanqiaoOJ 315:寻找3个数的最大乘积

【题目来源】
https://www.lanqiao.cn/problems/315/learning/

【题目描述】
实现一个算法:在数组中找到 3 个数字的最大乘积。
例如,数组 [5,-2,3,1,-1,4] 中 3 个数字的最大乘积为 60。

【输入格式】
第一行为数字 N(3≤N≤1000),表示数组元素的个数。
第二行为数组元素 Ai,-1000≤Ai≤1000。

【输出格式】
输出一行,为 3 个数字的最大乘积。

【输入样例】
6
5 -2 3 1 -1 4

【输出样例】
60

【算法分析】
排序后,三个数的最大乘积只有两种可能:
(1)三个最大的正数的乘积。
(2)两个最小的负数的乘积,再乘以最大的正数。

【算法代码】

#include <bits/stdc++.h>
using namespace std;const int maxn=1005;
int a[maxn];int main() {int n;cin>>n;for(int i=1; i<=n; i++) cin>>a[i];sort(a+1,a+1+n);int t=max(a[1]*a[2]*a[n], a[n]*a[n-1]*a[n-2]);cout<<t<<endl;return 0;
}/*
in:
6
5 -2 3 1 -1 4out:
60
*/




【参考文献】
https://www.lanqiao.cn/problems/315/learning/



 


http://www.mrgr.cn/news/63162.html

相关文章:

  • 水生生物图像分割系统:创新方法解析
  • 拍拍贷鸿蒙版H5容器之路
  • wps宏代码学习
  • Spring JdbcTemplate详解
  • PFC前端电路 -- EMI电路
  • ELK之路第四步——整合!打通任督二脉
  • 构建安全的用户登录API:从请求验证到JWT令牌生成
  • 呼吁中兴向全国免费开放专利许可,支持国产创新,你支持吗?
  • VS2022 远程调式
  • Strongly Connected City
  • FlinkCDC-MYSQL批量写入
  • 第三百零七节 Log4j教程 - Log4j日志格式、Log4j日志到文件
  • Android开发教程viewpager2点击指示标也能切换
  • (C#面向初学者的 .NET 的生成 AI) 第 2 部分-什么是 AI 和 ML?
  • 解读!中国人工智能大模型技术白皮书!
  • 基于SSM医药进出口交易系统的设计
  • 大语言模型(LLMs)在安全芯片设计中应用
  • Ubuntu 系统、Docker配置、Docker的常用软件配置(下)
  • Vite构建生产配置“build:prod“: “cross-env NODE_ENV=production vite build“含义
  • 「C/C++」C/C++标准库 之 <cstring> 字符串操作库
  • 【css】CSS 文本溢出显示省略号
  • Ubuntu最简单安装OpenCV
  • OpenCV基础01
  • 树莓派基本设置--4.网络设置
  • 9.排队模型-M/M/1
  • LabVIEW在Windows和Linux开发的差异