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

Posted 算法与编程之美

tags:

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

0 引言

利用sort内置函数来解决找列表中最大三个数的乘积。

1 问题

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

示例1:

输入:nums=「1,2,3」

输出:6

示例2:

输入:nums=「1,2,3,4」

输出:24

2 方法

这里的方法调用到的内置函数sorted

首先建立一个列表nums=[1,3,6,5]可以看出列表中的数未按顺序排列。

然后令nums1=sorted(nums)得到一个新函数nums1并用sorted函数对旧列表里的数字进行排序

因为要得到三个最大数字的乘积因为已经由从小到大排序所以直接用列表中的查来找到最大的三个数分别是nums[-1],nums[-2]nums[-3]

最后用x=nums[-1]*nums[-2]*nums[-3]来表示乘积并用

Print(‘为最大三个数组成的乘积’.formatx)

3 实验结果与讨论

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

代码清单 1

Courier New字体,23磅行间距
nums=[1,2,3,4]
nums1=sorted(nums)
x=nums1[-1]*nums1[-2]*nums1[-3]
print(‘为最大的三个数组成的最大乘积’.format(x))

4 结语

针对使用sort内置函数排序数列来找出最大三个数的乘积问题,提出利用sort内置函数来解决找列表中最大三个数的乘积方法,通过实验,证明该方法是有效的,本文的方法有不足在于找列表中最大的三个数使用的倒数三个数,可以直接使用倒叙直接取前三位数字更为简便,以后可以继续研究数据大且多的列表来排序。

实习编辑:衡辉

稿件来源:深度学习与文旅应用实验室(DLETA)

以上是关于使用sorted内置函数排序数列来找出最大三个数的乘积的主要内容,如果未能解决你的问题,请参考以下文章

在matlab,对一个数列排序后,怎样得到原数列的各个元素在排序后的数列的位置?

628. 三个数的最大乘积『简单』

python 求n个数最大值 最小值

matlab如何不用max和min找出矩阵内的最大值和最小值

排序算法——冒泡排序

#题目:输入三个整数 x, y, z,请把这三个数由小到大输出。