给你一个整数数组 nums
,请你选择数组的两个不同下标 i
和 j
,使 (nums[i]-1)*(nums[j]-1)
取得最大值。
请你计算并返回该式的最大值
排序之后最后两个元素的乘积即为最大
int cmp(const void *pa, const void *pb) {
return *(int *)pa - *(int *)pb;
}
int maxProduct(int* nums, int numsSize) {
qsort(nums,numsSize,sizeof(int),cmp);
return (nums[numsSize-1]-1)*(nums[numsSize-2]-1);
}
python方法
def maxProduct(self, nums: List[int]) -> int:
nums.sort()
return (nums[-1]-1)*(nums[-2]-1)
t