leetcode 43. 1~n整数中1出现的次数

apollo-慢速车向左绕行 当主车前方出现其他车辆时,通过左侧车道对前车绕行。 阅读详情

题目描述:
输入一个整数 n ,求1~n这n个整数的十进制表示中1出现的次数。
例如,输入12,1~12这些整数中包含1 的数字有1、10、11和12,1一共出现了5次。

示例 1:
输入:n = 12
输出:5
示例 2:
输入:n = 13
输出:6

限制:1 <= n < 2^31

思路: 这是一道数学题,主要从数学的思想解决,主要就是一次判断数的每一位可能出现1的次数,再把他们加起来;
每一位可能出现1的次数需要找规律,具体参考的题解链接

class Solution:
    def countDigitOne(self, n: int) -> int:
        res, digit = 0, 1
        high, low, cur = n // 10, 0, n % 10
        while high != 0 or cur != 0:  # 当 high 和 cur 同时为 0 时,说明已经越过最高位,因此跳出
            if cur == 0:
                res += high * digit
            elif cur == 1:
                res += high * digit + low + 1
            else:
                res += (high+1) * digit
            low += cur * digit  # 将 cur 加入 low ,组成下轮 low
            cur = high % 10  # 下轮 cur 是本轮 high 的最低位
            high = high // 10  # 将本轮 high 最低位删除,得到下轮 high
            digit *= 10  # 位因子每轮 × 10
        return res
Win11更新导致TIA博途许可证出现问题的解决办法汇总 阅读详情

相关推荐

Anolis 8系统下,手把手搞定Nginx、Redis、JDK8和Tomcat9的完整安装与配置(含开机自启)

本文详细介绍了在Anolis 8系统下搭建Java Web全栈环境的完整流程,包括JDK8、Tomcat9、Nginx和Redis的安装与配置,并实现系统级服务管理。通过深入每个组件的配置细节,揭示服务间的协同关系,最终打造一个生产级可用的标准化环境。

weixin_42556197的博客 159

leetcode-1~n 整数中 1 出现的次数(清晰图解)

输入一个整数 n ,求1~n这n个整数的十进制表示中1出现的次数。 例如,输入12,1~12这些整数中包含1 的数字有1、10、11和12,1一共出现了5次。 示例 1: 输入:n = 12 输出:5 示例 2: 输入:n = 13 输出:6 限制: 1 <= n < 2^31 #include<iostream> #include<string> #include<vector> #include<algorithm> #include<

qq_33287871的博客 1412

5分钟搞定!用L型匹配电路优化窄带天线性能(附Smith圆图实操)

本文针对窄带天线阻抗匹配难题,提供了一套5分钟快速解决方案。通过详解L型匹配电路的核心原理,并结合Smith圆图这一射频工程师的“瑞士军刀”,手把手指导如何选择拓扑、计算元件值并进行实际调试,旨在帮助硬件工程师高效优化天线性能,实现最大功率传输。

yyy34的博客 444

《LeetCode笔记59》:1~n整数中1出现的次数

题目: 输入一个整数 n ,求1~n这n个整数的十进制表示中1出现的次数。 例如,输入12,1~12这些整数中包含1 的数字有1、10、11和12,1一共出现了5次。 示例 1: 输入:n = 12 输出:5 示例 2: 输入:n = 13 输出:6 限制: 1 <= n <2^31 来源:力扣(LeetCode) 链接:https://leetcode-cn...

xin3475的博客 252

大模型在心律失常预测及治疗方案制定中的应用研究报告

目录一、引言1.1 研究背景与意义1.2 研究目的与方法1.3 研究创新点二、大模型技术概述2.1 大模型基本原理2.2 常见大模型类型及特点2.3 大模型在医疗领域的应用现状三、心律失常的术前预测与准备3.1 术前心律失常预测的重要性3.2 大模型在术前预测中的应用案例3.3 基于预测结果的术前准备方案四、术中监测与实时调整4.1 术中监测心律失常的方法与技术4.2 大模型辅助术中决策的机制4.3 实时调整手术方案的策略与实践五、术后恢复与并发症风险预测5.1 术后心律失常的监测与评估5.2 大模型预测术

嵌入式毕设/课设资料清单(速查手册·文档模板·题库,持续更新)→ 见最新文章 1596

重回童年的经典系列☀️| 【坦克大战3D版】游戏制作+解析

带你重回童年的经典系列——坦克大战3D版制作,感兴趣的可以看看呀~

努力前行,总会成为自己心中的那道光 5万+

Leetcode 233 从1到n整数中1出现的次数

从1到n整数中1出现的次数 Leetcode 233 剑指offer33 class Solution { public: int countDigitOne(int n) { int ones = 0; for (long long m = 1; m &lt;= n; m *= 10) ones += (n/m + 8) / 10 * m +...

behboyhiex的博客 917

Python爬虫实战:如何爬取京东商品评论数据

在本文中,我们介绍了如何使用 Python 爬虫技术爬取京东商品的评论数据。首先,我们分析了京东商品评论的 API 接口和 JSON 数据结构,然后编写了爬虫程序来抓取评论数据,并将数据保存到 CSV 文件中。接着,我们进行了一些基本的数据分析,包括评分分布和简单的情感分析。爬取京东商品评论的数据可以为电商分析、情感分析等提供有价值的信息。你可以在此基础上进行更深入的分析,挖掘更多的商业价值。希望本篇教程能够帮助你了解如何利用 Python 进行电商数据的爬取和分析!

2201_76125261的博客 1647

LeetCode—剑指Offer:1~n整数中1出现的次数(规律)

1~n整数中1出现的次数(中等) 2020年9月4日 题目来源:力扣 解题 看路飞大佬的题解理解,这个规律一理解就好做了 class Solution { public int countDigitOne(int n) { //初始化各个参数 //高位 int high=n/10; //当前位 int cur=n%10; //低位 int low=0; //位数

学海无涯乐作舟 361

Lumerical 教程,包含作者个人理解及相关设计案例 (目前共计184篇,持续更新中)

4138。

u011699626的博客 1622

100 道大数据开发技术原理与实战面试宝典(必过答案详细解析)I

在数字化浪潮席卷全球的今天,大数据开发工程师已成为企业数字化转型的核心力量。无论是互联网巨头的用户行为分析,还是金融机构的风险控制,亦或是智慧城市的数据中枢,都离不开大数据技术的支撑。然而,面对BAT等头部企业严格的面试要求,候选人不仅需要掌握扎实的理论基础,更需具备将技术落地的实战能力。本文基于历年高频面试题与企业真实场景需求,梳理100道必考题目,涵盖基础概念、框架原理、算法设计、性能优化等核心领域,助你构建完整的知识体系,从容应对面试挑战。

AI天才研究院 1386

[分析总结:leetcode-Number of Digit One]寻找整数1到n之间所有数字中1出现的次数

leetcode原题链接:https://leetcode.com/problems/number-of-digit-one/ 题目描述: 要求寻找整数1到n之间所有数字中,1出现的次数。如给定数字15,那么1到15之间出现1的数字为:1、10、11、12、13、14、15,共出现8次。 方法一: 我们可以用最简单的办法先尝试一下,遍历1到n中间的每个整数,对每个整数从

八爪鱼的家 2414

滑模观测器与锁相环结合应用:让电机“无感”也能精准旋转的奥秘

本文介绍了永磁同步电机无传感器控制中的滑模观测器(SMO)结合锁相环(PLL)技术。SMO通过创建虚拟电机模型,利用电流误差产生控制信号来估计反电动势;PLL则从反电动势中解码转子位置和速度信息。该组合方案兼具SMO的鲁棒性和PLL的高精度,计算量小且硬件要求低。文章详细阐述了原理、数学模型、参数整定方法及实际实现技巧,包括离散化处理、符号函数替代等优化手段,并分析了低速性能限制、抖振问题等常见挑战及解决方案。最后指出该技术未来将与人工智能、多观测器融合等方向结合发展。

汽车软件开发 195

剑指 Offer 43. 1~n 整数中 1 出现的次数 - LeetCode(力扣)

剑指 Offer 43. 1~n 整数中 1 出现的次数 - LeetCode(力扣)

Onwaier的博客 452

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Leetcode 剑指 Offer 43. 1~n 整数中 1 出现的次数

Leetcode 剑指 Offer 43. 1~n 整数中 1 出现的次数 题目 输入一个整数 n ,求1~n这n个整数的十进制表示中1出现的次数。 例如,输入12,1~12这些整数中包含1 的数字有1、10、11和12,1一共出现了5次。 示例 1: 输入:n = 12 输出:5 示例 2: 输入:n = 13 输出:6 限制: 1 <= n < 2^31 思路 我们要明确出现1的次数 = 每个位上面出现1的次数的和 现在我们以十位为例子, 说明下面的3种情况: 十位是1, 比

weixin_43891775的博客 184

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Leetcode43 1~n 整数中 1 出现的次数

求出1 ~ 13的整数中1出现的次数,并算出100 ~ 1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数(从1 到 n 中1出现的次数)。 解题思路 将 1 ~ n 的个位、十位、百位、…的 1出现次数相加,即为 1 出现的总次数。 某位中 1 出现次数的计算方法: 根据当前位 cur 值的不同,分为以下三种情况: 当 c

MARK19960120的博客 346

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

剑指 Offer 43. 1~n 整数中 1 出现的次数 leetcode233. 数字 1 的个数(没做)

lardoris928的博客 148

【leetcode】43.1~n整数中1出现的次数

【题目】1~n整数中1出现的次数 原题链接 输入一个整数 n ,求1~n这n个整数的十进制表示中1出现的次数。 例如,输入12,1~12这些整数中包含1 的数字有1、10、11和12,1一共出现了5次。 示例 1: 输入:n = 12 输出:5 示例 2: 输入:n = 13 输出:6 【限制】 1 <= n < 2^31 1.暴力法 【思想】暴力解法就是遍历一遍每个数字,然后把每个数字中 1 的数目加起来。(会超时)。 class Solution { int count(int

海盗船长y的博客 454

LeetCode 剑指 Offer 43. 1~n 整数中 1 出现的次数

1.题目 示例: 。 来源:力扣(LeetCode) 链接: 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 2.题解 。 时间复杂度: 空间复杂度:

HarvestWu的博客 582

leetcode 剑指 Offer 43. 1~n整数中1出现的次数

剑指 Offer 43. 1~n整数中1出现的次数 输入一个整数 n ,求1~n这n个整数的十进制表示中1出现的次数。 例如,输入12,1~12这些整数中包含1 的数字有1、10、11和12,1一共出现了5次。 示例 1: 输入:n = 12 输出:5 示例 2: 输入:n = 13 输出:6 限制: 1 <= n < 2^31 暴力操作不可取,直接超时 class Solution: def countDigitOne(self, n: int) -> int:

Qin_酱的博客 268

力扣 剑指 Offer 43. 1~n整数中1出现的次数 规律

https://leetcode-cn.com/problems/1nzheng-shu-zhong-1chu-xian-de-ci-shu-lcof/ 思路:应该算是找规律吧,看了别人的题解才会做… class Solution { public: int countDigitOne(int n) { long long high=n/10,cur=n%10,low=0,digit=1,ans=0; while(high||cur){

xiji333的博客 203

【LeetCode】剑指 Offer 43. 1~n 整数中 1 出现的次数

原题链接戳这⬅️ 输入一个整数 n ,求1~n这n个整数的十进制表示中1出现的次数。 例如,输入12,1~12这些整数中包含1 的数字有1、10、11和12,1一共出现了5次。 示例1: 输入:n = 12 输出:5 示例2: 输入:n = 13 输出:6 解题思路 首先,将问题转化为求解 1~n1~n1~n 这 nnn 个整数中,第 iii 位上出现 111 的次数,即当第 iii 位取值为 111 时,求解存在多少个 <n<n<n 的不同整数。则,依次对个位、十位、百位… 求

Be Quick & Clever & Lucky 341

【LeetCode】面试题43. 1~n整数中1出现的次数(JAVA)

原题地址:https://leetcode-cn.com/problems/1nzheng-shu-zhong-1chu-xian-de-ci-shu-lcof/ 题目描述: 解题方案: 参考了题解,自己虽然也能想出来但是思路很乱。递归的话返回值是把n分块考虑了。分为除去最高位后面的部分和加上最高位的部分,再加上最高位,分类讨论。 代码: class Solution { public ...

rabbitsockx的博客 227

剑指 Offer 43. 1~n整数中1出现的次数 - leetcode 剑指offer系列

题目难度: 中等 原题链接 今天继续更新剑指 offer 系列, 老样子晚上 6 点 45 分准时更新公众号 每日精选算法题, 大家记得关注哦~ 另外在公众号里回复 offer 就能看到剑指 offer 系列当前连载的所有文章了 题目描述 输入一个整数 n ,求 1 ~ n 这 n 个整数的十进制表示中 1 出现的次数。 例如,输入 12,1 ~ 12 这些整数中包含 1 的数字有 1、10、11 和 12,1 一共出现了 5 次。 1 <= n < 2^31 题目样例 示例 .

随便发挥的博客 301

[LeetCode](面试题43)1~n整数中1出现的次数

题目 输入一个整数 n ,求1~n这n个整数的十进制表示中1出现的次数。 例如,输入12,1~12这些整数中包含1 的数字有1、10、11和12,1一共出现了5次。 示例 1: 输入:n = 12 输出:5 示例 2: 输入:n = 13 输出:6 限制: 1 <= n < 2^31 解题思路 参考K神思路 面试题43. 1~n 整数中 1 出现的次数 代码 class Solution { public int countDigitOne(int n) { in

zaker123的博客 419

[leetCode]剑指 Offer 43. 1~n整数中1出现的次数

递归  直观思路是遍历每一个数字,对每一个数字采用“%”“/”的方法取个位判断是否为1然后累加。由于数字n有O(logn)为所以时间复杂度为O(nlogn)。应该考虑更快的算法。  假设输入的数字n为21345,可以把它分为两部分: 1~1345 1346~21345 先来分析1345~21345这部分。从万位开始万位出现1的次数为10000,因为可取10000 ~ 19999,1出现了10000次。剩余4位1出现的次数又是多少呢?把1345 ~ 21345 再分为两部分: 1346 ~ 11345.

Warms的博客 144
上一篇: leetcode 剑指offer 14:剪绳子
下一篇: leetcode 剑指offer 44:数字序列中的某一位数字
coding_diamond
博客等级 码龄8年 8粉丝 131原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值