leetcode 233 Number of Digit One

私家侦探如何追踪难以找到的人,掌握几个很少人知道的在线免费查询网站,搜索人名、电话号码以及地址的开源网站 私家侦探如何追踪难以找到的人,掌握几个很少人知道的在线免费查询网站,搜索人名、电话号码以及地址的开源网站。 阅读详情

问题:从1到n的整数中1出现的次数

Given an integer n, count the total number of digit 1 appearing in all non-negative integers less than or equal to n.

For example:
Given n = 13,
Return 6, because digit 1 occurred in the following numbers: 1, 10, 11, 12, 13.

代码

/*
intuitive: 每10个数, 有一个个位是1, 每100个数, 有10个十位是1, 每1000个数, 有100个百位是1.  做一个循环, 每次计算单个位上1得总个数(个位,十位, 百位).  
例子:
以算百位上1为例子:   假设百位上(m=100)是0, 1, 和 >=2 三种情况: 
    case 1: n=3141092, a= 31410, b=92. 计算百位上1的个数应该为 3141 *100 次.
    case 2: n=3141192, a= 31411, b=92. 计算百位上1的个数应该为 3141 *100 + (92+1) 次. 
    case 3: n=3141592, a= 31415, b=92. 计算百位上1的个数应该为 (3141+1) *100 次. 
以上三种情况可以用 一个公式概括:
(a + 8) / 10 * m + (a % 10 == 1) * (b + 1);
*/

class Solution {
public:
    int countDigitOne(int n) {
        int ones = 0;
        for (long m = 1; m <= n; m *= 10) {
            long a = n/m, b = n%m;
            ones += (a + 8) / 10 * m;
            if(a % 10 == 1) ones += b + 1;
        }
        return ones;
    }
};
Unity零基础到入门 ☀️| 基础知识入门篇章,看完就可以做游戏啦! | 寻找C站宝藏 Unity入门基础知识。本篇文章介绍了关于Unity入门的一些基础知识,包括基本概念和使用实例。简单易上手,轻松实现Unity入门操作! 阅读详情

相关推荐

320x240 TFT屏的SPI DMA驱动避坑指南:基于HC32F460的时序调试心得

本文详细介绍了基于HC32F460 MCU驱动320x240 TFT屏的SPI DMA实战经验,涵盖硬件设计、波形诊断、DMA优化及高级调试技巧。重点解析SPI时序配置、DMA缓冲区对齐等常见问题,并提供逻辑分析仪波形诊断方法和性能优化策略,帮助开发者规避典型陷阱,提升显示性能。

weixin_42639246的博客 372

leetcode 233.数字1的个数

原题内容如下: 给定一个整数 n,计算所有小于等于 n 的非负整数中数字 1 出现的个数。 示例: 输入: 13 输出: 6 解释: 数字 1 出现在以下数字中: 1, 10, 11, 12, 13 。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/number-of-digit-one 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 ——————————————分割线-———————————————— 我的题解 分析 这个题的

zhuruihe2014的博客 1110

ESP32小车DIY:从零搭建无线遥控智能车(附完整代码与避坑指南)

本文详细介绍了如何从零开始DIY一台基于ESP32的无线遥控智能小车。内容涵盖核心硬件选型、电路设计、低延迟ESP-NOW无线通信协议的配置与实战,以及双电机差速控制算法与PWM调速的实现。文章提供了完整的代码示例和关键的避坑指南,旨在帮助开发者快速构建稳定可靠的智能车平台,并为进一步的功能扩展奠定基础。

gamma的博客 471

leetcode:233. 数字 1 的个数

题目 模拟 暴力枚举的话会超时。行李箱的滚轮密码锁,我们固定其中的某一位,然后可以随意滑动其他位,算出其他位有多少种可能。 问题是我们该如何统计出可能的次数呢? 假设我们想要得到十位上1出现的次数,当前我们的指针指向十位,我们称之为当前位。 我们用num 代表当前位的位因子, 则: 指针指向个位时,num = 1 指针指向十位时,num = 10 指针指向百位时,num = 100 … 我们将当前位的左边定义为高位,右边定义为低位。 比如:n = 1004 ,此时指针指向十位(当前

OceanStar的博客 543

PCL读取点云数据报错:Failed to find match for field ‘x‘/ ‘y‘/ ‘z‘.

原因:使用matlab生成的pcd文件,点云数据是双精度类型,pcl处理的点云数据是单精度类型。解决方案:使用matlab生成的点云坐标单精度化,然后在生成点云加以存储。

little_white138的博客 869

SAP LSMW保姆级操作文档

SAP LSMW(Legacy System Migration Workbench)是一个强大的工具,旨在简化旧系统数据向SAP系统的迁移过程。它允许用户通过多种方式导入数据,包括直接输入、批处理输入和BAPI。LSMW支持数据映射和转换,确保数据在迁移过程中保持一致性,减少手动输入的需求,从而提高效率,适用于新系统实施和数据更新项目。在日常运维过程中我们经常会遇到用户要求我们批量改一写数据,通常这些字段的信息有些SAP是提供程序可以批量进行更改的比如主数据的MM17、通用更改数据的MASS。

我小时候很黑的博客 4949

LeetCode233. 数字1的个数(数位dp)/1583. 统计不开心的朋友(模拟)/112. 路径总和 / 230. 二叉搜索树中第K小的元素 /968. 监控二叉树(树形dp)

233. 数字 1 的个数 2021.8.13 每日一题 题目描述 给定一个整数 n,计算所有小于等于 n 的非负整数中数字 1 出现的个数。 示例 1: 输入:n = 13 输出:6 示例 2: 输入:n = 0 输出:0 提示: 0 <= n <= 2 * 10^9 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/number-of-digit-one 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 思

windyjcy的博客 333

损失函数大汇总(四十五)(clDice Loss附公式推导与代码)

clDice Loss是一种针对细长结构分割任务的拓扑保持损失函数,通过比较预测区域和真实区域的中心线重叠情况来评估分割质量。与传统Dice Loss关注区域重叠不同,clDice Loss重点考察连通性和骨架拓扑结构,能有效避免血管断裂、分支错误连接等问题。该损失函数包含两个核心指标:预测骨架在真实区域中的覆盖比例(Topology Precision)和真实骨架被预测区域覆盖的比例(Topology Sensitivity),通过调和平均得到最终评估值。由于传统骨架提取算法不可导,实际实现采用可微的so

悦学共鸣,温柔以待,汇聚光芒,共同成长 451

LeetCode 233 Number of Digit One

题目要求: 查找出小于等于n的非负数中出现1的个数 找到的规律: 1. 9999…9999 n个9 中1的个数为countn9 = n*pow(10,n-1) 2. x9999…9999 n个9 中1的个数为countxn9 = (x+1)*n*pow(10,n-1) + pow(10,n) 3. 1241343210000000000—-124134321x99999999

不要挡住我的阳光 407

RK3588平台开发系列讲解(DMA篇)DMA engine使用

Linux 内核的 DMA 引擎提供了一组完整的接口,用于申请和释放 DMA 通道、准备 DMA 描述符、启动和控制 DMA 传输,以及同步和管理缓存。通过这些接口,内核能够高效地处理异步的 DMA 传输任务,减少 CPU 的干预,提高数据传输的效率。

内核笔记 1835

PCB_Project.PrjPcb 4 Not in version control

Altium Designer中PCB项目出现"NOT in version control"错误的解决方法:1. 禁用不需要的版本控制集成(DXP→Preferences→Version Control);2. 清理项目缓存(Projects面板右键→Clean Project);3. 检查文件读写权限;4. 如无效可新建项目重新添加文件。如需使用SVN版本控制,需正确配置SVN客户端路径,创建或连接SVN仓库,并将项目文件提交至版本控制系统。注意新建SVN仓库必须使用空目录,建议使用

whm128的博客 1597

[LeetCode][233]数字 1 的个数

给定一个整数 n,计算所有小于等于 n 的非负整数中数字 1 出现的个数。

Witheart 的博客。 658

关节电机技术全解析:原理、双编码器、控制方法与硬件选型

关于关机电机的组成,技术原理,特点以及选型等方面的详细介绍,可以帮助快速学习关节电机相关内容!

start_up_go的博客 694

Leetcode 233. Number of Digit One

题目描述:给定n,找出小于n的数字中含1的个数。 题目链接:Leetcode 233. Number of Digit One reference: https://leetcode.com/discuss/44281/4-lines-o-log-n-c-java-python intuitive: 每10个数, 有一个个位是1, 每100个数, 有10个十位是1, 每1000个数, 有10...

Za七杂⑧ 182

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Python leetcode 233. Number of Digit One

python leetcode 233. Number of Digit One 题目 https://leetcode.com/problems/number-of-digit-one/ 思路 比如21345 先看1345~21345:万位上有一万个1(剩余四位从0000到9999),再看千位取1(万位取1或2,百十个位上取0~9都可以),再看百位与千位相同取法,同理十位与个位。然后是1...

weixin_41710583的博客 367

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

LeetCode No.233 Number of Digit One 题解

LeetCode No.233 Number of Digit One 题解题目描述 Given an integer n, count the total number of digit 1 appearing in all non-negative integers less than or equal to n. For example: Given n = 13,

Guo15331092的博客 516

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

leetcode 233: Number of Digit One

leetcode 233: Number of Digit One java python c++

西施豆腐渣 1万+

LeetCode 233. Number of Digit One

原题网址:https://leetcode.com/problems/number-of-digit-one/ Given an integer n, count the total number of digit 1 appearing in all non-negative integers less than or equal to n. For example: Give

James Pan 875

【Leetcode】233. Number of Digit One

的每一位求出来然后从左到右排列。,那么除了上面那个方案之外,左边是可以取。对每一位求个总和即可。这些正整数中各个位总共有多少个。这一位,有多少个数能取。,那么其左边的方案数是。,那么其左边的方案是。的,而此时右边可以取。

数学、算法爱好者的博客 1185

LeetCode No.233 Number of Digit One

LeetCode No.233 Number of Digit One

黄健伟的博客 348

[leetcode] 233. Number of Digit One 解题报告

题目链接: https://leetcode.com/problems/number-of-digit-one/ Given an integer n, count the total number of digit 1 appearing in all non-negative integers less than or equal to n. For example: Giv

小榕流光的专栏 1755

[leetcode] 233. Number of Digit One

Description Given an integer n, count the total number of digit 1 appearing in all non-negative integers less than or equal to n. Example: Input: 13 Output: 6 Explanation: Digit 1 occurred in the ...

Learning from the mistakes 204

Leetcode233 Number of Digit One

Given an integer n, count the total number of digit 1 appearing in all non-negative integers less than or equal to n. For example: Given n = 13, Return 6, because digit 1 occurred in the follow

suichen1的专栏 476

Leetcode 233 Number of Digit One

1. 问题描述  给定一个整数n,在所有不大于n的非负整数中,计算包含数字1的整数的个数。例如n=13n = 13的结果为6,包含1的数字有1,10,11,12,13。2. 方法与思路  这个问题最直观的方法就是累加1到n所有的包含1的数的个数。每个数通过循环取余10的方法判断是否包含1。但是这种思路效率并不高,数字n有lognlogn位,总得时间复杂度为O(nlogn)O(nlogn)。   利

Jeanphorn的专栏 5443

leetcode 233 number of digit one

假设n = xyzdabc,此时我们求千位是1的个数,也就是d所在的位置。 那么此时有三种情况, d == 0,那么千位上1的个数就是xyz * 1000 d == 1,那么千位上1的个数就是xyz * 1000 + abc + 1 d > 1,那么千位上1的个数就是xyz * 1000 + 1000 代码如下: public int countDi...

m0_37313888的博客 222

Leetcode233-Number of Digit One

欢迎参观我的博客:Huhaoyu’s Blog。 Given an integer n, count the total number of digit 1 appearing in all non-negative integers less than or equal to n.

coderhuhy的专栏 855
上一篇: KMP算法-字符串匹配
下一篇: sk_buff
HelloCooper
博客等级 码龄11年 13粉丝 37原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值