跳到主要内容

2342.数位和相等数对的最大和

链接:2342.数位和相等数对的最大和
难度:Medium
标签:数组、哈希表、排序、堆(优先队列)
简介:给你一个下标从 0 开始的数组 nums ,数组中的元素都是 正 整数。请你选出两个下标 i 和 j(i != j),且 nums[i] 的数位和 与 nums[j] 的数位和相等。请你找出所有满足条件的下标 i 和 j ,找出并返回 nums[i] + nums[j] 可以得到的 最大值 。

题解 1 - python

  • 编辑时间:2023-11-18
  • 执行用时:792ms
  • 内存消耗:31.2MB
  • 编程语言:python
  • 解法介绍:遍历。
class Solution:
def maximumSum(self, nums: List[int]) -> int:
m = defaultdict(int)
ans = -1
for num in nums:
v = sum(int(c) for c in str(num))
if v in m: ans = max(ans, m[v] + num)
m[v] = max(m[v], num)
return ans