计算三个数的最大乘积(Python)

计算三个数的最大乘积(Python)
要求输出,最大三个数的下标和乘积, nums[]为无符号数字

若不要求输出下标,排序后输出下标即可,求最后几个的乘积

nums.sort()
nums[-1] * nums[-2] * nums[-3]

如果使用排序可以用字典操作

map={}
for i in range(len(nums)):
    map[nums[i]]=i
a=sorted(map.keys())
print(a[-1],a[-2],a[-3])
print("三个最大和的乘积为:",a[-1]*a[-2]*a[-3])
print(map[a[-1]],map[a[-2]],map[a[-3]])

循环一遍找到数组中最大三个数字的下标

nums=[3,2,1,4,5]
m1,m2,m3=-1,-1,-1
x,y,z=0,0,0
for i in range(1,len(nums)):
    if nums[i]>nums[x]:
        z,y,x = y,x,i
    elif nums[i]>nums[y]:
       z,y=y,i
    elif nums[i]>nums[z]:
        z=i
print(x,y,z)
print(nums[x]*nums[y]*nums[z])

ps:这个面产品的一道题目

猜你喜欢

转载自blog.csdn.net/sereasuesue/article/details/121595875