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;

    }
};
相关推荐
朝朝辞暮i15 小时前
C++ 第 23 课:class —— 开始真正进入面向对象
开发语言·c++·算法
郑同学的笔记16 小时前
【c++随笔28】strcmp 和 memcmp对比
开发语言·c++
随意起个昵称16 小时前
【背包dp】输出方案路径
c++·动态规划
朝朝辞暮i17 小时前
C++ 第 27 课:智能指针 shared_ptr
开发语言·c++·算法
by2099917 小时前
学会使用std::string类,并理解其内部是如何管理字符串的详细阐述(上)
c++·笔记·字符串·类和对象·string
沙漠之主17 小时前
C++编程教学设计资料:从入门到实战的完整课程方案
java·前端·c++
朝朝辞暮i18 小时前
C++ 第 29 课:回调函数 Callback
开发语言·c++·算法
kaixin_learn_qt_ing18 小时前
C++多态实现原理
c++
无名猿18 小时前
unique_ptr 完全指南:独占所有权与零开销
c++·性能优化·内存管理·标准库·现代c++
笑鸿的学习笔记18 小时前
C++笔记之大块顺序写
java·c++·笔记