leetcode:1464. 数组中两元素的最大乘积(python3解法)
2024-01-03 19:44:51
难度:简单
????????给你一个整数数组?
nums
,请你选择数组的两个不同下标?i
?和?j
,使?(nums[i]-1)*(nums[j]-1)
?取得最大值。????????请你计算并返回该式的最大值。
示例 1:
输入:nums = [3,4,5,2] 输出:12 解释:如果选择下标 i=1 和 j=2(下标从 0 开始),则可以获得最大值,(nums[1]-1)*(nums[2]-1) = (4-1)*(5-1) = 3*4 = 12 。示例 2:
输入:nums = [1,5,4,5] 输出:16 解释:选择下标 i=1 和 j=3(下标从 0 开始),则可以获得最大值 (5-1)*(5-1) = 16 。示例 3:
输入:nums = [3,7] 输出:12提示:
2 <= nums.length <= 500
1 <= nums[i] <= 10^3
题解:
class Solution(object): import itertools def maxProduct(self, nums): list1 = [] list2 = [] res = [] for i in range(len(nums)): list1.append(i) list2.append(i) combinations = list(itertools.product(list1, list2)) # print(combinations) for i in combinations: if i[0] == i[1]: continue res.append((nums[i[0]]-1)*(nums[i[1]]-1)) return max(res)
文章来源:https://blog.csdn.net/qq_41905051/article/details/135370796
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!