技术栈

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探秘:对象创建与内存分配机制
相关推荐
ue星空
10 分钟前
R3注入反截图
c++
独自破碎E
12 分钟前
二分查找-I
leetcode
塔尖尖儿
24 分钟前
For循环中++i与i++有什么不一样?
c++
Ralph_Y
29 分钟前
C++虚继承
开发语言·c++
千金裘换酒
39 分钟前
LeetCode 删除链表的倒数第N个结点
算法·leetcode
ZzZz_ing
1 小时前
2026 - 零碎知识随记录
c++
SweetCode
1 小时前
【无标题】
开发语言·c++·算法
王老师青少年编程
1 小时前
信奥赛C++提高组csp-s之拓扑排序详解
c++·算法·拓扑排序·csp·信奥赛·csp-s·提高组
老鼠只爱大米
1 小时前
LeetCode算法题详解 42:接雨水
leetcode·动态规划·双指针·单调栈·接雨水·雨水收集
xie_pin_an
2 小时前
C++ 从入门到进阶:核心知识与实战指南
java·c++·算法
热门推荐
01GitHub 镜像站点02Labelme从安装到标注:零基础完整指南03安娜的档案(Anna’s Archive) 镜像网站/国内最新可访问入口(持续更新)04Linux下V2Ray安装配置指南05jdk21下载、安装(Windows、Linux、macOS)06【踩坑笔记】50系显卡适配的 PyTorch 安装07Opencode CLI 安装成功,但是启动失败08手把手教你通过Gemini3 pro 学生认证,白用一年,手慢无!09Claude Code Plan 模式完全指南:从入门到精通10全球最强模型Grok4,国内已可免费使用!(附教程)