三个数的最大乘积

简介: 三个数的最大乘积

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 结语

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

目录
相关文章
|
7月前
|
算法
给定两个数,求这两个数的最大公约数
给定两个数,求这两个数的最大公约数
|
2月前
求这两个数的最小公倍数
【10月更文挑战第21天】求这两个数的最小公倍数。
28 4
|
2月前
求两个数的最小公倍数
【10月更文挑战第20天】求这两个数的最小公倍数。
44 4
|
7月前
|
算法
容斥原理:能被整除的数
容斥原理:能被整除的数
|
7月前
|
算法 测试技术 C#
【最大公约数 调和级数】2183.统计可以被 K 整除的下标对数目
【最大公约数 调和级数】2183.统计可以被 K 整除的下标对数目
求一个数是几位数并输出逆序数
求一个数是几位数并输出逆序数
69 0
|
7月前
回文数的个数
回文数的个数
【Leetcode -605.种花问题 -628.三个数的最大乘积】
【Leetcode -605.种花问题 -628.三个数的最大乘积】
31 0
|
Python
找几个数的最大乘积
找几个数的最大乘积
75 0