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

​​题目来源:

leetcode题目,网址:2342. 数位和相等数对的最大和 - 力扣(LeetCode)

解题思路:

哈希表,根据数位和分组后,计算每组中最大两个数之和,然后返回最大值即可。

解题代码:

复制代码
class Solution {
public:
    int maximumSum(vector<int>& nums) {
        int res=-1;
        unordered_map<int,vector<int>> map=getSumOfDigits(nums);
        for(auto it=map.begin();it!=map.end();it++){
            if(it->second.size()!=2){
                continue;
            }
            res=max(it->second[0]+it->second[1],res);
        }
        return res;
    }
    unordered_map<int,vector<int>> getSumOfDigits(vector<int>& nums){
        unordered_map<int,vector<int>> res;   //保存最大的两个数,最大,次大
        for(int num:nums){
            int sum=getSumOfDigit(num);
            vector<int> temp=res[sum];
            if(temp.size()==0){
                temp.push_back(num);
            }else if(temp.size()==1){
                int bigger=max(temp[0],num);
                int smaller=min(temp[0],num);
                temp[0]=bigger;
                temp.push_back(smaller);
            }else{
                if(num>=temp[0]){
                    temp[1]=temp[0];
                    temp[0]=num;
                }else if(num>temp[1]){
                    temp[1]=num;
                }
            }
            res[sum]=temp;
        }
        return res;
    }
    int getSumOfDigit(int num){
        int res=0;
        while(num!=0){
            res+=(num%10);
            num=num/10;
        }
        return res;
    }
};
复制代码

总结:

无官方题解。


相关推荐
Navigator_Z几秒前
LeetCode //C - 1269. Number of Ways to Stay in the Same Place After Some Steps
c语言·算法·leetcode
沫璃染墨28 分钟前
《从零入门Linux系统篇(五十一):线程篇·四——pthread线程库详解:从线程创建到终止与分离》
linux·运维·服务器·开发语言·c++·系统架构·线程
shada1 小时前
CMake指定 MSVC 工具集与 Windows SDK
c++·windows
垆边人似月.1 小时前
华为机考题:矩阵中的最长递增路径
c语言·c++
垆边人似月.1 小时前
华为算法题:最长连续递增子序列的变
数据结构·算法·leetcode
A7bert7771 小时前
【SAM3部署至AGX Orin】环境配置→模型部署→问题记录
c++·人工智能·深度学习·ubuntu
longlongzihan1 小时前
LeetCode 56合并区间:排序与贪心
c++·算法·leetcode
程序员老陆1 小时前
C++ 继承方式:公有、保护、私有,到底在控制什么
开发语言·c++
坤坤子吖2 小时前
C++11——Lambda、function、bind 与可调用对象
c++·笔记·学习
白杨尚青2 小时前
C++入门篇(十一):string(中)——容量与增删改查:一篇吃透所有常用接口(万字详解)
java·开发语言·c++