三个数的最大乘积

简介: 三个数的最大乘积

1 问题

给定一个正数整型数组nums(不考虑有负数的情况),在数组中找出由三个数组装成的最大乘积值,并输出这个乘积。

示例1:

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

输出:6

示例2:

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

输出:24

2 方法

在这个数组中,先找出原数组中最大的一个数,放入一个新列表,再将原数组中的该最大数字删去,下次就可以找到第二个,第三个最大数字,然后将新列表里的三个数相乘,就得到了我们要的最大的三个数组装成的最大乘积。

3 实验结果与讨论

通过实验、实践等证明提出的方法是有效的,是能够解决开头提出的问题。

代码清单 1

nums=[2,3,4,5,6,1]
list=[]
for i in range(3):#只需要找出三个最大的数,因此遍历3次。
   list.append(max(nums))
   nums.remove(max(nums))
cj=list[0]*list[1]*list[2]
print(cj)

4 结语

针对解决数组中三个数的最大乘积问题,提出用依次找出三个最大数字,然后相乘的方法,通过实践,证明该方法是有效的,本文的方法还存在不足的是,对于新的这个列表,在计算乘积时是利用索引依次相乘,如果该序列是字典,就没办法利用索引得到结果,未来相信可以利用更简便的方法来继续研究.

目录
相关文章
|
6天前
|
算法
给定两个数,求这两个数的最大公约数
给定两个数,求这两个数的最大公约数
|
6天前
|
人工智能 Java C++
计算逆序对数
计算逆序对数
18 0
|
6天前
windy数(数位dp)
windy数(数位dp)
14 0
|
6天前
|
算法
容斥原理:能被整除的数
容斥原理:能被整除的数
|
6天前
|
算法 测试技术 C#
【最大公约数 调和级数】2183.统计可以被 K 整除的下标对数目
【最大公约数 调和级数】2183.统计可以被 K 整除的下标对数目
|
9月前
求一个数是几位数并输出逆序数
求一个数是几位数并输出逆序数
39 0
|
6月前
628. 三个数的最大乘积
628. 三个数的最大乘积
|
7月前
【Leetcode -605.种花问题 -628.三个数的最大乘积】
【Leetcode -605.种花问题 -628.三个数的最大乘积】
15 0
|
7月前
|
程序员
【牛客网】HJ99 自守数、OR86 返回小于 N 的质数个数
目录 HJ99 自守数 OR86 返回小于 N 的质数个数
58 0
|
8月前
|
算法 C语言
自守数算法
自守数算法
49 0