题目描述

给定一个无序数组,包含正数、负数和0,要求从中找出3个数的乘积,使得乘积最大,要求时间复杂度:O(n),空间复杂度:O(1)

输入描述:

无序整数数组A[n]

输出描述:

满足条件的最大乘积

思路

由于只需要找出3个数的最大乘积,那么只有两种可能:

  1. 最大数、次大数和第三大数的乘积;
  2. 最大数、最小数和次小数的乘积(负负得正)。

因此,只需要将输入数字遍历一次,保存最大值、次大值、第三大值以及最小值和次小值即可。

Python源码

n = int(input())
A = list(map(int, input().split()))
max1, max2, max3, min1, min2 = 0, 0, 0, 0, 0
for i in range(n):if A[i] > max1:max3, max2, max1 = max2, max1, A[i]elif A[i] > max2:max3, max2 = max2, A[i]elif A[i] > max3:max3 = A[i]elif A[i] < min1:min2, min1 = min1, A[i]elif A[i] < min2:min2 = A[i]
print(max(max1*max2*max3, max1*min1*min2))

2018拼多多校招【最大乘积】Python解法相关推荐

  1. 2018拼多多校招【大整数相乘】Python解法

    思路 大整数相乘,其实完全套用了列竖式计算乘法的思路,重点就是讲竖式计算这一过程用代码表示.竖式计算中,一个乘数会和另一个乘数逐位相乘,从个位到最高位,相乘的结果依次左移一位,最后将多个计算结果相加即 ...

  2. 2018 拼多多 校招真题 最大乘积

    最大乘积 时间限制:1秒 空间限制:32768K 热度指数:8197 校招时部分企业笔试将禁止编程题跳出页面,为提前适应,练习时请使用在线自测,而非本地IDE. 题目描述 给定一个无序数组,包含正数. ...

  3. 拼多多校招----最大乘积(python)

    一.题目 题目描述 给定一个无序数组,包含正数.负数和0,要求从中找出3个数的乘积,使得乘积最大,要求时间复杂度:O(n),空间复杂度:O(1) 输入描述: 无序整数数组A[n] 输出描述: 满足条件 ...

  4. 牛客网拼多多校招最大乘积

    链接:https://www.nowcoder.com/questionTerminal/5f29c72b1ae14d92b9c3fa03a037ac5f 来源:牛客网 给定一个无序数组,包含正数.负 ...

  5. 2018 拼多多校招贪心算法题

    题目描述 六一儿童节,老师带了很多好吃的巧克力到幼儿园.每块巧克力j的重量为w[j],对于每个小朋友i,当他分到的巧克力大小达到h[i] (即w[j]>=h[i]),他才会上去表演节目.老师的目 ...

  6. 2018拼多多校招笔试贪心编程题小熊吃糖详解

    题目描述 有n只小熊,他们有着各不相同的战斗力.每次他们吃糖时,会按照战斗力来排,战斗力高的小熊拥有优先选择权.前面的小熊吃饱了,后面的小熊才能吃.每只小熊有一个饥饿值,每次进食的时候,小熊们会选择最 ...

  7. 2020年拼多多校招面试题及答案-最全最新-持续更新中

    大家好我是好好学习天天编程的天天 一个整天在互联网上种菜和砍柴的程序员 2020年拼多多校招面试题及答案-最全最新-持续更新中 2020年拼多多校招面试题一面-牛客网 2020年拼多多校招面试题二面- ...

  8. 2020年拼多多校招面试题及答案-最全最新-持续更新中(2)

    大家好我是好好学习天天编程的天天 一个整天在互联网上种菜和砍柴的程序员~ 2020年拼多多校招面试题及答案-最全最新-持续更新中(2) 2020年拼多多校招面试题一面 2020年拼多多校招面试题一面- ...

  9. 2018拼多多内推校招编程题

    最大乘积 时间限制:1秒 空间限制:32768K 给定一个无序数组,包含正数.负数和0,要求从中找出3个数的乘积,使得乘积最大,要求时间复杂度: O(n),空间复杂度:O(1) 输入描述: 无序整数数 ...

最新文章

  1. oracle asm和文件系统,Oracle工具之--ASM与文件系统及跨网络传输文件
  2. python 按从小到大的顺序组合成一个字典_将Python字典排列组合成字典列表
  3. Ribbon 客户端负载均衡
  4. Power BI:M与DAX以及度量与计算列
  5. hadoop,spark的启动及DataNode无法启动的解决方法
  6. from PyQt4 import QtGui,QtCore出错
  7. Flarum正式版 简体中文语言包
  8. word 宏命令 表头与图名的设置
  9. 网易云音乐打卡听歌300首源码
  10. 如何用金山打字通等软件练习准确地打JAVA语言
  11. 度量python的运行时间
  12. 如何画好业务架构图。
  13. HTL5 JavaScript里的DOM节点简单思维导图(元素节点,文本节点,节点的增删改查) 高清可打印
  14. 解决git在push时报错fatal: unable to access ‘https://github.com/sup0C/a.git/‘: errno 10054
  15. ios高德地图提醒打开定位功能
  16. vue版本的仿京东放大镜代码还有原生js版本的。(组件封装
  17. 线性代数---魏福义版 第一章习题答案
  18. Oracle EBS R12 AP模块主要表结构整理
  19. JAVA工具【八】RmbUtils 人民币大小写转换工具
  20. 2023西安建筑科技大学考研介绍

热门文章

  1. 湖北武汉劳务员培训劳务员的现场管理建筑七大员培训
  2. Adb使用教程,看了教程后你也是玩机达人啦
  3. Word高效指南 - 快速合并多个文档
  4. 最小公倍数的多种求法(C++代码实现)
  5. iVX案例制作(1)—图片查看器
  6. torch.bmm() 与 torch.matmul()
  7. 零基础学c语言 第2版 pdf下载,《零基础学C语言(第2版)》.(康莉,李宽).[PDF].@ckook.pdf...
  8. 《结对-爬取大麦网演唱会信息-设计文档》
  9. Java面试题梳理,工作5年内适用,先收藏着
  10. [NOIP 2005 T2] 过河 (动态规划+简单数论)