在 Python 中查找相乘数的最大和的程序
假设我们有两个名为nums和multipliers的列表。现在考虑一个操作,我们可以从nums中删除任何数字,并从乘数中删除任何数字,然后将它们相乘。我们必须重复这个操作,直到其中一个列表为空,我们必须找到相乘数字的最大和。
因此,如果输入类似于nums=[-4,4,3]multipliers=[-2,2],那么输出将是16,因为我们可以将-4与-2和4与2匹配以获得-4*-2+4*2。
示例
让我们看下面的实现来更好地理解
def solve(nums, multipliers):
nums.sort()
multipliers.sort()
res = 0
if len(nums) < len(multipliers):
nums, multipliers = multipliers, nums
n, m = len(nums), len(multipliers)
for i in range(m):
if multipliers[i] <= 0:
res += nums[i] * multipliers[i]
else:
res += multipliers[i] * nums[n - (m - i)]
return res
nums = [-4, 4, 3]
multipliers = [-2, 2]
print(solve(nums, multipliers))输入
[-4, 4, 3], [-2, 2]输出结果
16
热门推荐
10 新人红包祝福语简短精辟
11 幼师给毕业祝福语简短
12 生日高考祝福语妹妹简短
13 下飞机祝福语简短英文
14 元宵发客户祝福语简短
15 爸妈金婚文案祝福语简短
16 新郎朋友红包祝福语简短
17 虎年五一祝福语大全简短
18 出阁宴祝福语姐姐简短