技术栈

C++ | Leetcode C++题解之第233题数字1的个数

Ddddddd_1582024-07-18 20:52

题目:

题解:

cpp 复制代码
class Solution {
public:
    int countDigitOne(int n) {
        // mulk 表示 10^k
        // 在下面的代码中,可以发现 k 并没有被直接使用到(都是使用 10^k)
        // 但为了让代码看起来更加直观,这里保留了 k
        long long mulk = 1;
        int ans = 0;
        for (int k = 0; n >= mulk; ++k) {
            ans += (n / (mulk * 10)) * mulk + min(max(n % (mulk * 10) - mulk + 1, 0LL), mulk);
            mulk *= 10;
        }
        return ans;
    }
};
上一篇:【jvm】字符串常量池问题
下一篇:Java核心篇之JVM探秘:对象创建与内存分配机制
相关推荐
UIU114
2 小时前
P1481 魔族密码
c++·算法·动态规划
文丑颜不良啊
3 小时前
LeetCode1961~1980题目解析
java·leetcode
文丑颜不良啊
3 小时前
LeetCode2001~2020题目解析
java·leetcode
文丑颜不良啊
6 小时前
LeetCode2021~2040题目解析
java·leetcode
闻缺陷则喜何志丹
8 小时前
【C++特性】四种类型转
c++·算法·类型转换
apcipot_rain
11 小时前
C++转Java日记(02)
java·开发语言·c++
杜 硕
12 小时前
从零开始的C++生活——第七讲——02
开发语言·c++·生活
Rabitebla
20 小时前
【Linux 底层原理】进程(十):进程等待详解---从僵尸进程到 wait、waitpid 与 status
linux·c++·笔记·学习·visual studio
西西弗Sisyphus
1 天前
C++ 超时互斥锁(Timed Mutex):std::timed_mutex 与 std::unique_lock
c++
热门推荐
01国内可直接用、免费额度/永久免费的大模型API清单(含 SiliconFlow、火山、阿里、智谱、百度、Kimi、DeepSeek、DMXAPI 等)02如何新建文件夹? 电脑新建文件夹的4种方法03历年考研数学一、数学二、数学三真题试卷及答案PDF04几个好用的ip纯净度检测网站05GitHub 镜像站点06昇腾910B系列芯片完全指南:四款型号对比、服务器选型与大模型部署实战07苹果iPA游戏软件资源下载网站08蜘蛛磁力 搜索引擎大全,如何使用蜘蛛磁力查找磁力链接09Dify:一站式AI应用开发平台全解析与Windows部署指南10微信历史版本含下载地址( Windows PC | 安卓 | MAC )及设置微信不更新