2018拼多多校招【最大乘积】Python解法
题目描述
给定一个无序数组,包含正数、负数和0,要求从中找出3个数的乘积,使得乘积最大,要求时间复杂度:O(n),空间复杂度:O(1)
输入描述:
无序整数数组A[n]
输出描述:
满足条件的最大乘积
思路
由于只需要找出3个数的最大乘积,那么只有两种可能:
- 最大数、次大数和第三大数的乘积;
- 最大数、最小数和次小数的乘积(负负得正)。
因此,只需要将输入数字遍历一次,保存最大值、次大值、第三大值以及最小值和次小值即可。
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解法相关推荐
- 2018拼多多校招【大整数相乘】Python解法
思路 大整数相乘,其实完全套用了列竖式计算乘法的思路,重点就是讲竖式计算这一过程用代码表示.竖式计算中,一个乘数会和另一个乘数逐位相乘,从个位到最高位,相乘的结果依次左移一位,最后将多个计算结果相加即 ...
- 2018 拼多多 校招真题 最大乘积
最大乘积 时间限制:1秒 空间限制:32768K 热度指数:8197 校招时部分企业笔试将禁止编程题跳出页面,为提前适应,练习时请使用在线自测,而非本地IDE. 题目描述 给定一个无序数组,包含正数. ...
- 拼多多校招----最大乘积(python)
一.题目 题目描述 给定一个无序数组,包含正数.负数和0,要求从中找出3个数的乘积,使得乘积最大,要求时间复杂度:O(n),空间复杂度:O(1) 输入描述: 无序整数数组A[n] 输出描述: 满足条件 ...
- 牛客网拼多多校招最大乘积
链接:https://www.nowcoder.com/questionTerminal/5f29c72b1ae14d92b9c3fa03a037ac5f 来源:牛客网 给定一个无序数组,包含正数.负 ...
- 2018 拼多多校招贪心算法题
题目描述 六一儿童节,老师带了很多好吃的巧克力到幼儿园.每块巧克力j的重量为w[j],对于每个小朋友i,当他分到的巧克力大小达到h[i] (即w[j]>=h[i]),他才会上去表演节目.老师的目 ...
- 2018拼多多校招笔试贪心编程题小熊吃糖详解
题目描述 有n只小熊,他们有着各不相同的战斗力.每次他们吃糖时,会按照战斗力来排,战斗力高的小熊拥有优先选择权.前面的小熊吃饱了,后面的小熊才能吃.每只小熊有一个饥饿值,每次进食的时候,小熊们会选择最 ...
- 2020年拼多多校招面试题及答案-最全最新-持续更新中
大家好我是好好学习天天编程的天天 一个整天在互联网上种菜和砍柴的程序员 2020年拼多多校招面试题及答案-最全最新-持续更新中 2020年拼多多校招面试题一面-牛客网 2020年拼多多校招面试题二面- ...
- 2020年拼多多校招面试题及答案-最全最新-持续更新中(2)
大家好我是好好学习天天编程的天天 一个整天在互联网上种菜和砍柴的程序员~ 2020年拼多多校招面试题及答案-最全最新-持续更新中(2) 2020年拼多多校招面试题一面 2020年拼多多校招面试题一面- ...
- 2018拼多多内推校招编程题
最大乘积 时间限制:1秒 空间限制:32768K 给定一个无序数组,包含正数.负数和0,要求从中找出3个数的乘积,使得乘积最大,要求时间复杂度: O(n),空间复杂度:O(1) 输入描述: 无序整数数 ...
最新文章
- oracle asm和文件系统,Oracle工具之--ASM与文件系统及跨网络传输文件
- python 按从小到大的顺序组合成一个字典_将Python字典排列组合成字典列表
- Ribbon 客户端负载均衡
- Power BI:M与DAX以及度量与计算列
- hadoop,spark的启动及DataNode无法启动的解决方法
- from PyQt4 import QtGui,QtCore出错
- Flarum正式版 简体中文语言包
- word 宏命令 表头与图名的设置
- 网易云音乐打卡听歌300首源码
- 如何用金山打字通等软件练习准确地打JAVA语言
- 度量python的运行时间
- 如何画好业务架构图。
- HTL5 JavaScript里的DOM节点简单思维导图(元素节点,文本节点,节点的增删改查) 高清可打印
- 解决git在push时报错fatal: unable to access ‘https://github.com/sup0C/a.git/‘: errno 10054
- ios高德地图提醒打开定位功能
- vue版本的仿京东放大镜代码还有原生js版本的。(组件封装
- 线性代数---魏福义版 第一章习题答案
- Oracle EBS R12 AP模块主要表结构整理
- JAVA工具【八】RmbUtils 人民币大小写转换工具
- 2023西安建筑科技大学考研介绍
热门文章
- 湖北武汉劳务员培训劳务员的现场管理建筑七大员培训
- Adb使用教程,看了教程后你也是玩机达人啦
- Word高效指南 - 快速合并多个文档
- 最小公倍数的多种求法(C++代码实现)
- iVX案例制作(1)—图片查看器
- torch.bmm() 与 torch.matmul()
- 零基础学c语言 第2版 pdf下载,《零基础学C语言(第2版)》.(康莉,李宽).[PDF].@ckook.pdf...
- 《结对-爬取大麦网演唱会信息-设计文档》
- Java面试题梳理,工作5年内适用,先收藏着
- [NOIP 2005 T2] 过河 (动态规划+简单数论)