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