技术栈

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探秘:对象创建与内存分配机制
相关推荐
mmmmath_3
8 小时前
LeetCode.199.二叉树的右视图
数据结构·leetcode
别动我齐刘海
10 小时前
Linux 系统调试学习1
linux·运维·服务器·c++·学习·机器学习·机器人
Nil208
13 小时前
leetcode 198打家劫舍
算法·leetcode·职场和发展
mmmmath_3
14 小时前
LeetCode.429.N叉树的层序遍历
数据结构·leetcode
jimy1
15 小时前
C++ 虚函数表:基类和派生类共用一张 vtable 吗?
开发语言·c++
爱吃提升
15 小时前
Dev-C++ 5.11 C++断点调试完整教程
开发语言·c++
xlq22322
15 小时前
全面复习7
c++
geats人山人海
16 小时前
现代c++2.4 虚继承
java·开发语言·c++
csuzhucong
16 小时前
天元一号、二号、三号
c++
灯澜忆梦
17 小时前
【面向对象编程c++】| 数组与函数
java·数据结构·c++
热门推荐
01国内可直接用、免费额度/永久免费的大模型API清单(含 SiliconFlow、火山、阿里、智谱、百度、Kimi、DeepSeek、DMXAPI 等)02历年考研数学一、数学二、数学三真题试卷及答案PDF03GitHub 镜像站点04「全语录+省流版」邵艾伦 × 孙宇晨:聊风口、聊个人IP、聊年轻人如何抓住 AI 时代的机会05如何新建文件夹? 电脑新建文件夹的4种方法06蜘蛛磁力 搜索引擎大全,如何使用蜘蛛磁力查找磁力链接07Telegram APK 下载安装完整指南 — 2026年最新08Windows 10/11 如何退出微软账户并改用本地账户登录(含找不到选项的解决方法)09轻量化AI渗透武器库|ARTEX自主攻防系统、资产梳理、漏洞挖掘、链路分析全流程智能化落地10微信历史版本含下载地址( Windows PC | 安卓 | MAC )及设置微信不更新