技术栈

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探秘:对象创建与内存分配机制
相关推荐
罗湖老棍子
2 分钟前
Knight Moves(信息学奥赛一本通- P1257)
c++·算法·bfs
学学学无无止境
22 分钟前
力扣-从前序与中序遍历序列构造二叉树
leetcode
stanleyrain
25 分钟前
c++指针问题
开发语言·c++
如意.759
33 分钟前
【C++】从 I0 库到缓冲区,一篇吃透输入输出
开发语言·c++
小李小李快乐不已
1 小时前
哈希表理论基础
数据结构·c++·哈希算法·散列表
AuroraWanderll
1 小时前
C++11(二)核心突破:右值引用与移动语义(上)
c语言·数据结构·c++·算法·stl
CoderYanger
1 小时前
第 479 场周赛Q1——3769. 二进制反射排序
java·数据结构·算法·leetcode·职场和发展
广府早茶
1 小时前
机器人重量
c++·算法
神仙别闹
1 小时前
基于QT(C++)实现宠物小精灵对战游戏
c++·qt·宠物
热门推荐
01GitHub 镜像站点02【超详细教程】手把手教你从微软官网免费下载Windows 10官方原版ISO镜像(2025最新版)03安娜的档案(Anna’s Archive) 镜像网站/国内最新可访问入口(持续更新)04UV安装并设置国内源05React CVE-2025-55182漏洞排查与修复指南06Linux下V2Ray安装配置指南07BongoCat - 跨平台键盘猫动画工具08智能库存管理的需求预测模型:从业务痛点到落地代码的完整实践09从入门到实战:Gemini 3 使用指南速览10在VSCode配置Java开发环境的保姆级教程(适配各类AI编程IDE)