技术栈

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探秘:对象创建与内存分配机制
相关推荐
luj_1768
1 天前
星火科技助力边远地区防病攻坚
c语言·开发语言·c++·经验分享·算法
zmzb0103
1 天前
C++课后习题训练记录Day175
开发语言·c++
啦啦啦啦啦zzzz
1 天前
工具:动态类工厂和用配置文件存储属性
c++·设计模式·工具·动态工厂
脱胎换骨-军哥
1 天前
C++ 代码规范与格式化指南
开发语言·c++·代码规范
迷途之人不知返
1 天前
lambda表达式
c++
@三十一Y
1 天前
C++:红黑树的实现
开发语言·c++
_wyt001
1 天前
拓扑排序:有向无环图的排队艺术
c++·拓扑排序·队列
皓月斯语
1 天前
B2118 验证子串
c++·题解
乐观勇敢坚强的老彭
1 天前
C++信奥:开关门、开关灯问题
开发语言·c++·算法
Hi李耶
1 天前
【LeetCode】4-寻找两个正序数组的中位数
算法·leetcode·职场和发展
热门推荐
01GitHub 镜像站点02如何新建文件夹? 电脑新建文件夹的4种方法0300 Debian字符界面如何支持中文04国内可直接用、免费额度/永久免费的大模型API清单(含 SiliconFlow、火山、阿里、智谱、百度、Kimi、DeepSeek、DMXAPI 等)05微信历史版本含下载地址( Windows PC | 安卓 | MAC )及设置微信不更新062026 国产 AI 大模型横评:DeepSeek、通义千问、Kimi、文心一言、星火、豆包谁更能打?072026年7月AI圈大地震:GPT-5.6被政府限制、Claude入驻Slack、Anthropic自研芯片08AI 编程 IDE 全景解析 2026:Agent 全面接管开发链路09Agnes AI 免费 API 接入指南:文本、生图、生视频,一套接口全免费102026 年 AI 大模型 & AI 编程工具实战全总结