利用函数求出一个数组最大三个数的乘积

Posted 算法与编程之美

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了利用函数求出一个数组最大三个数的乘积相关的知识,希望对你有一定的参考价值。

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())

以上是关于利用函数求出一个数组最大三个数的乘积的主要内容,如果未能解决你的问题,请参考以下文章

[LeetCode] 628. 三个数的最大乘积 ☆

[Nowcoder] 最大乘积(拼多多笔试题)

使用sorted内置函数排序数列来找出最大三个数的乘积

leetcode关于数组的问题

最大乘积(大佬的代码)

LeetCode:三个数的最大乘积628