如何解决我在正确的轨道上
我目前正在使用 Python 进行 LeetCoding,并且难以为您拥有 (MXN) 数组的问题创建一个有效的解决方案,例如 array = [[1,2,3],[1,3]]
,它计算每个内部数组的总和并输出最大值总和。
我看到了这个解决方案,但想知道我是否在正确的轨道上了解内置函数的底层发生了什么。
这是我的解决方案:
class Solution:
def maximumWealth(self,accounts: List[List[int]]) -> int:
count = 0
for i in accounts:
count = max(sum(i),count)
return count
# I was thinking max does something like this
# max(sum(i)) = [1+2+3] = 6
# Then moves on by updating count
# Then adds the second inner array and determines which one is the max sum
这是LeetCode的解释:
说明:
第一个客户拥有财富 = 1 + 2 + 3 = 6
第二位顾客拥有财富 = 3 + 2 + 1 = 6
两个客户都被认为是最富有的,每个人都有 6 个财富,所以返回 6。
解决方法
# max(sum(i)) = [1+2+3] = 6
这不正确,我不确定是不是您的打字错误。
i
是数组的每一个,比如 [1,2,3]
sum(i)
计算数组的和,sum([1,3])
为 6
max
与最后一个最大值 (count
) 的总和,并更新它,那么 count
始终是数组的最大总和直到结束。
您也可以将每个内部列表map
到sum
函数中,以便您可以使用max
函数获得最大和:
max(map(sum,accounts))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。