2457. 美丽整数的最小增量

题目

本题我之前也是和题解一样的想法,增加数还让它和变小只有进位操作可以。

关键在写法上,我是转为字符串去计算每次增加多少,比较麻烦。这种做法还是比较好,记录下。

cpp 复制代码
class Solution {
public:
    long long makeIntegerBeautiful(long long n, int target) {
       long long cur=n;
       long long i=10;
        while(true){
            int cursum=func(cur);
            if(cursum<=target)
                return cur-n;           //第一次    第二次
            cur/=i;                     //123->12   130->1
            cur++;                      //12->13    1->2
            cur*=i;                     //13->130   2->200
            i*=10;                      //注意,不可以将i变为10,因为随着次数增加,第一次需要10.第二次需要100
        }
        return 0;
    }
    int func(long long cur){
        int sum=0;
        while(cur>0){
            sum+=cur%10;
            cur/=10;
        }
        return sum;

    }
};
相关推荐
C_Liu_1 小时前
C++:list
开发语言·c++
my rainy days1 小时前
C++:友元
开发语言·c++·算法
鄃鳕2 小时前
python 字典 列表 类比c++【python】
c++·python
保持低旋律节奏3 小时前
C++——list链表
c++·链表·list
2401_841495644 小时前
【数据结构】基于Floyd算法的最短路径求解
java·数据结构·c++·python·算法··floyd
纵有疾風起5 小时前
C++模版:模板初阶及STL简介
开发语言·c++·经验分享·开源
QT 小鲜肉5 小时前
【个人成长笔记】Qt Creator快捷键终极指南:从入门到精通
开发语言·c++·笔记·qt·学习·学习方法
勇闯逆流河6 小时前
【C++】用红黑树封装map与set
java·开发语言·数据结构·c++
实心儿儿6 小时前
C++——内存管理
c++
山,离天三尺三6 小时前
深度拷贝详解
开发语言·c++·算法