力扣2578. 最小和分割

贪心,排序后均摊每个数就行了,显然更小的数在更高的位上最后的和更小,且两个数同一位上的数交换位置后对最后的答案没有影响。

力扣2578. 最小和分割_第1张图片

class Solution {
public:
    int splitNum(int num) {
        vector a;
        while(num)
        {
            a.push_back(num%10);
            num/=10;
        }
        sort(a.begin(),a.end());
        vector ans(2);
        int f=0;
        for(int ai:a)
        {
            ans[f]=ans[f]*10+ai;
            f^=1;
        }
        return ans[1]+ans[0];
    }
};

你可能感兴趣的:(leetcode,算法,数据结构)