1 引文
Python中的“数组”可分为三种类型:(1)list普通的列表,初始化后可以通过特定方法动态增加元素(2)Tuple固定的数组,一旦定义后,其元素个数是不能再改变的(3)Dictionary词典类型,即是Hash数组。
设n是一任意数组,要找出数组中最大的三个数的乘积,则最先要做的是将数组进行排序,从小到大,例如:
>>>nums=[5,6,8,1,2]
>>>nums.sort()
>>>nums
[1,2,5,6,8]
第二
>>>sorted([5,6,8,1,2])
>>>[1,2,5,6,8]
再用最后三位进行乘积运算
2 问题描述
请使用函数编写一个函数,该函数可以实现,给你一个正数整型数组nums(不考虑有负数的情况),在数组中找出由三个数组装成的最大乘积值,并输出这个乘积
示例1:
输入:nums = [1,2,3]
输出:6
示例2:
输入:nums= [1,2,3,4]
输出:24
3 算法描述
由上问题可知已知一个数组,可以对数组进行分类class,在后可以对数组进行从大到小的排序,求出最后三位的乘积,注意数组的序号位数排列。
4 结语
本文探讨为数组的排列,序号位数,以及定义函数的写法与分类函数的写法,通过函数写法的组合,能构建为便捷的求出数组的乘积,简便运算。
附件
class Maxmul def __init__(self,nums): self.nums=nums def mulnums(self): newNums=sorted(self.nums,reverse=True) return newNums[0]*newNums[1]*newNums[2] nums=[1,2,3] newNums=Maxmul(nums) print(newNums.mulnums()) |