技术栈

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探秘:对象创建与内存分配机制
相关推荐
第七序章
33 分钟前
【C++STL】list的详细用法和底层实现
c语言·c++·自然语言处理·list
仙俊红
33 分钟前
LeetCode每日一题,20250914
算法·leetcode·职场和发展
逆小舟
2 小时前
【Linux】人事档案——用户及组管理
linux·c++
风中的微尘
7 小时前
39.网络流入门
开发语言·网络·c++·算法
混分巨兽龙某某
8 小时前
基于Qt Creator的Serial Port串口调试助手项目(代码开源)
c++·qt creator·串口助手·serial port
小冯记录编程
8 小时前
C++指针陷阱:高效背后的致命危险
开发语言·c++·visual studio
C_Liu_
9 小时前
C++:类和对象(下)
开发语言·c++
coderxiaohan
9 小时前
【C++】类和对象1
java·开发语言·c++
阿昭L
9 小时前
MFC仿真
c++·mfc
老赵的博客
11 小时前
c++ unqiue指针
java·jvm·c++
热门推荐
01GitHub 镜像站点02UV 工具安装与国内镜像源配置指南03UV安装并设置国内源04A股预测还能更准?开源大模型Kronos带你跑通预测+回测全流程05KGG转MP3工具|非KGM文件|解密音频0646个Nano-banana 精选提示词,持续更新中07conda中设置镜像地址(附所有可换的地址)08突破百度网盘的下载限速,两种方法教会你【超详细】09Spec-Kit 使用指南10保姆级教程:手把手教你用Dify实现完美多轮对话(附Chatflow和提示词)