数组中乘积最大的两个元素
题目描述
现有一个整型数组 nums
,请选择数组中两个下标不同的元素,使得 (nums[i] – 1)*(nums[j] – 1)
取得最大值。 请返回计算出的最大值。
输入输出格式
输入格式 第一行有一个整数 numsSize
,表示数组 nums
的大小; 第二行有 numsSize
个整数,分别表示数组 nums
的所有元素,每个整数用一个空格隔开。 输出格式 一行输出元素乘积的最大值。
输入输出样例1
输入 4
3 4 5 2
输出 12
解释 如果选择下标 i=1
和 j=2
(下标从 0
开始),则可以获得最大值,(nums[1]−1)∗(nums[2]−1)=(4−1)∗(5−1)=3∗4=12
。
输入输出样例2
输入 4
1 5 4 5
输出 16
解释 选择下标 i=1
和 j=3
(下标从 0
开始),则可以获得最大值 (5−1)∗(5−1)=16
。
说明提示
2≤nums.length≤500
1≤nums[i]≤1000
n=int(input())
m=input().split()
m=[int(u)for u in m]
m.sort()
print((m[n-1]-1)*(m[n-2]-1))