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;

    }
};
相关推荐
故事和你911 分钟前
洛谷-算法1-7-搜索3
数据结构·c++·算法·leetcode·动态规划
网域小星球14 分钟前
C++ 从 0 入门(四)|继承、多态、this 指针、深浅拷贝(C++ 面试终极收官)
开发语言·c++·面试·多态·继承·this指针·深浅拷贝
想唱rap41 分钟前
C++智能指针
linux·jvm·数据结构·c++·mysql·ubuntu·bash
前进吧-程序员2 小时前
现代 C++ 异步编程:从零实现一个高性能 ThreadPool (C++20 深度实践)
开发语言·c++·c++20
pearlthriving2 小时前
c++当中的泛型思想以及c++11部分新特性
java·开发语言·c++
t***5443 小时前
Dev-C++中哪些选项可以设置
开发语言·c++
2301_803554524 小时前
C++ 并发核心:std::promise、std::future、std::async 超详细全解
开发语言·c++
EverestVIP4 小时前
C++ 成员函数的指针
c++
俺不要写代码4 小时前
线程启动、结束,创建线程多法、join,detach,线程的移动语义
服务器·开发语言·网络·c++
思麟呀4 小时前
应用层协议HTTP
linux·服务器·网络·c++·网络协议·http