LeetCode 2342. 数位和相等数对的最大和
原题链接
中等
作者:
我是java同学
,
2023-11-18 14:58:58
,
所有人可见
,
阅读 56
class Solution {
public:
int maximumSum(vector<int>& nums) {
unordered_map<int, int> hash;
int res = -1;
for (auto x: nums) {
int s = 0;
int t = x;
while (t) {
s += t % 10;
t /= 10;
}
if (hash[s]) res = max(res, hash[s] + x);
hash[s] = max(hash[s], x);
}
return res;
}
};
class Solution {
public:
int maximumSum(vector<int>& nums) {
vector<vector<int>> cnt(100);
for (auto x: nums) {
int s = 0;
int t = x;
while (t) {
s += t % 10;
t /= 10;
}
cnt[s].push_back(x);
}
int res = -1;
for (int i = 1; i < 100; i ++ ) {
int n = cnt[i].size();
sort(cnt[i].begin(), cnt[i].end());
if (n < 2) continue;
res = max(res, cnt[i][n - 1] + cnt[i][n - 2]);
}
return res;
}
};