leetcode 第126场双周赛第一题

时间:2024-04-02 08:27:49

纯真的模拟题,也就是对于数字变成string类型,然后再对于string类型转变为int的操作而已。

思路:我们可以先把每个数组元素中的数字转变成字符串,然后再对于字符串进行排序,这样我们就知道最大的那个字符其实就是最大数字了,然后再把全部字符变成最后最大的字符,然后用字符串流istringstream进行转变数字的操作。

上代码:

class Solution {
public:
    int sumOfEncryptedInt(vector<int>& nums) {
        int n=nums.size();
        int sum=0;
        for(int i=0;i<n;i++){
            int num=nums[i];
            string buf=to_string(num);
            sort(buf.begin(),buf.end());
            for(int j=0;j<buf.size()-1;j++)
                buf[j]=buf[buf.size()-1];
            istringstream ss(buf);
            int tmp;
            ss>>tmp;
            sum+=tmp;
        }
        return sum;
    }
};