Untitled

 avatar
unknown
plain_text
3 months ago
661 B
8
Indexable
class Solution {
public:
    int sumOfDigits(int num) {
        int sum = 0;

        while(num>0) {
            sum+=num%10;

            num/=10;
        }

        return sum;
    }
    int maximumSum(vector<int>& nums) {
        int n = nums.size(), ans = 0;
        unordered_map < int , int > mp;

        for(int i=0;i<n;i++) {
            int sum = sumOfDigits(nums[i]);
            
            if(mp[sum] > 0 && mp[sum] + nums[i] > ans) {
                ans = mp[sum] + nums[i];
            }

            if(mp[sum] < nums[i]) {
                mp[sum] = nums[i];
            }
        }

        if(ans == 0)return -1;

        return ans;
    }
};
Editor is loading...
Leave a Comment