剑指Offer - 面试题43. 1~n整数中1出现的次数(找规律+公式)

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.com/problems/1nzheng-shu-zhong-1chu-xian-de-ci-shu-lcof
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

leetcode 同题:233. 数字 1 的个数

2. 解题

同题:程序员面试金典 - 面试题 17.06. 2出现的次数(找递推规律)
LeetCode 1067. 范围内的数字计数

  • 循环,按位遍历
class Solution {
public:int countDigitOne(int n) {int i = 1, count = 0, high, cur, low;while(n/i)//遍历每个位{high = n/(10*i);//高位cur = (n/i)%10;//当前位low = n-(n/i)*i;//低位if(cur == 0)count += high*i;else if(cur == 1)count += high*i+low+1;elsecount += (high+1)*i;i *= 10;}return count;}
};

递归参考:leetcode题解

class Solution {	
public:int countDigitOne(int n) {if(n <= 0)return 0;string s = to_string(n);int high = s[0]-'0';int Pow = pow(10, s.size()-1);int last = n - high*Pow;if(high == 1)return countDigitOne(Pow-1)+countDigitOne(last)+last+1;// 最高位是1,如1234, 此时pow = 1000,那么结果由以下三部分构成:// (1) dfs(pow - 1)代表[0,999]中1的个数;// (2) dfs(last)代表234中1出现的个数;// (3) last+1代表固定高位1有多少种情况。elsereturn high*countDigitOne(Pow-1)+countDigitOne(last)+Pow;}
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/477029.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

从网上看到的很搞笑的东西

[转]天下无贼经典台词IT版 戴尔&#xff1a;“人心散了&#xff0c;队伍不好带了!“ IBM&#xff1a;“我最烦你们些胡乱降价的了&#xff0c;一点技术含量都没有!“ 惠普&#xff1a;“实话告诉你们&#xff0c;惠普很生气&#xff0c;后果很严重!“ Intel&#xff1a;“你过得…

Spring Cloud实战小贴士:turbine如何聚合设置了context-path的hystrix数据

之前在spring for all社区看到这样一个问题&#xff1a;当actuator端点设置了context-path之后&#xff0c;turbine如何聚合数据&#xff1f;首先&#xff0c;我们要知道actuator端点设置了context-path是什么意思&#xff1f;也就是说&#xff0c;此时spring boot actuator的端…

prompt范式有了商业模式,卖提示词可以赚钱??

文 | 衡宇 发自 凹非寺源 | 量子位DALLE 2、GPT-3提示词在线交易平台&#xff0c;了解一下&#xff1f;最近&#xff0c;一家初创公司PromptBase&#xff0c;允许用户在该平台买卖提示词&#xff08;Prompt&#xff09;&#xff0c;提示词售价为1.99美元。PromptBase将向卖家抽…

LintCode 795. 4种独特的路径(DFS)

1. 题目 一个机器人位于一个m*n的网格的左上角。 机器人可以在任何时间点移动任何方向&#xff0c;但是每个网格只能达到一次。机器人正试图到达网格的右下角。 有多少种可能的独特路径? 样例 1: 输入: 2 3 输出: 4样例 2: 输入: 3 3 输出: 122. 解题 暴力回溯即可 class …

GARFIELD@01-19-2005

i begot them before, and you got them now 转载于:https://www.cnblogs.com/rexhost/archive/2005/01/19/94132.html

SpringCloud中文社区转型Spring4All欢迎您的加入

相信关注我们Spring Cloud中文社区&#xff08;bbs.springcloud.com.cn&#xff09;的朋友们最近已经在最新的横幅中发现了一个全新的社区&#xff1a;spring4all.com&#xff0c;相信从名字大家也能猜到该域名寓意Spring For All&#xff0c;那么我们为什么要重新创建这样一个…

全世界都在说中国话?2022国际大数据竞赛首次以“中文”命题

8月10日&#xff0c; IKCEST第四届“一带一路”国际大数据竞赛暨第八届百度&西安交大大数据竞赛&#xff08;以下简称“国际大数据竞赛”&#xff09;正式启动&#xff0c;本届赛题聚焦“低资源语言机器翻译”行业难题&#xff0c;向全球开发者发出邀请。百度发布稀缺语种任…

昨天发烧了……

唉&#xff0c;真是天有不测风云啊……发烧原因不明……转载于:https://www.cnblogs.com/wonderow/archive/2005/01/20/94699.html

LeetCode 51. N皇后 / 52. N皇后 II(回溯)

1. 题目 n 皇后问题研究的是如何将 n 个皇后放置在 nn 的棋盘上&#xff0c;并且使皇后彼此之间不能相互攻击。 上图为 8 皇后问题的一种解法。 给定一个整数 n&#xff0c;返回所有不同的 n 皇后问题的解决方案。 每一种解法包含一个明确的 n 皇后问题的棋子放置方案&…

我的新书《Spring Cloud实战》预告

从去年6月开始编写《Spring Cloud构建微服务架构》系列博文开始&#xff0c;受到了不少同行的关注与支持。随后也开通了多个交流群、创建了相关的论坛&#xff08;http://bbs.springcloud.cn&#xff09;&#xff0c;虽然Spring Cloud在国内变得越来越火热&#xff0c;但是这一…

GPT-3 泄露了我的真实姓名

文 | 天于刀刀世界上总有这么一群人&#xff0c;他们是高智商科技狂&#xff0c;是新时代技术热点的弄潮儿&#xff0c;更是充满神秘感潜藏在里世界默默注视着时代发展的极客。而 Hacker News 这一网站致力于提供最新国际威胁情报、黑客动向以及维基解密资讯&#xff0c;让我们…

Gmail的另类浏览法--RSS

RSS 眼下大行其道&#xff0c;虽然RSS在技术上没有什么最尖端、最高新的突破&#xff0c;不过是对信息的时序做了一些处理&#xff0c;但很恰当地调整了人们获取信息的方式&#xff0c;使得信息的获得变得集中、主动和异步。 集中&#xff1a;可供订阅的聚合一般都是某个主题相…

LintCode 1210. 升序子序列(DFS)

1. 题目 给定一个整数数组&#xff0c;找到所有不同的可能的升序子序列&#xff0c;一个升序子序列的长度至少应为2。 例1: 输入: [4,6,7,7] 输出: [[4,6],[4,6,7],[4,6,7,7],[4,7],[4,7,7],[6,7],[6,7,7],[7,7]]例2: 输入: [65,21,-44,31,-8] 输出: [[-44,-8],[-44,31],[21,…

GPT3=魔鬼搜索引擎?从一个隐私血案说起...

世界上总有这么一群人&#xff0c;他们是高智商科技狂&#xff0c;是新时代技术热点的弄潮儿&#xff0c;更是充满神秘感潜藏在里世界默默注视着时代发展的极客。而 Hacker News 这一网站致力于提供最新国际威胁情报、黑客动向以及维基解密资讯&#xff0c;让我们得以一窥这个灰…

Spring Cloud构建微服务架构(五)服务网关

通过之前几篇Spring Cloud中几个核心组件的介绍&#xff0c;我们已经可以构建一个简略的&#xff08;不够完善&#xff09;微服务架构了。比如下图所示&#xff1a; 我们使用Spring Cloud Netflix中的Eureka实现了服务注册中心以及服务注册与发现&#xff1b;而服务间通过Ribbo…

去除任务栏的图标

这次我要对付的软件是一个比较好用的代理软件(我不知道这样文章要不要隐藏文件名称),算法大家已经分析很多次了,我就不再重复了. 我这里来讨论一个实际应用的问题:如果你想用别人的机器上网而又不想让他轻易的发现(好像这样的想法大家都有吧?).而这个软件在启动之后 会在任务栏…

LintCode 1353. 根节点到叶节点求和(DFS)

1. 题目 给定仅包含来自0-9的数字的二叉树&#xff0c;每个根到叶路径可以表示数字。 举个例子&#xff1a;root-to-leaf路径1-> 2-> 3&#xff0c;它代表数字123&#xff0c;找到所有根到叶的数的总和 样例1 输入: {1,2,3} 输出: 25 解释:1/ \2 3 路径 1->2 表示…

1 亿巨资开发的防疫 APP,两年多只找到 2 例确诊

源 | 观察者网2020 年 4 月&#xff0c;澳政府斥巨资打造防疫 APP“COVIDSafe”。两年多过去了&#xff0c;这款曾被寄予厚望、当作通向防疫成功“门票”的 APP 寿命将近&#xff0c;于当地时间 8 月 9 日宣布将在不久后停用。澳大利亚卫生部长巴特勒&#xff08;Mark Butler&a…

Sql 实现自动添加行数标记

select IDENTITY(int,1,1) as NameID,* into #t from MissionAssignView select * from #t order by NameID drop table #t 转载于:https://www.cnblogs.com/jhtchina/archive/2005/03/09/115532.html

Spring Boot 2.x基础教程:使用JdbcTemplate访问MySQL数据库

在第2章节中&#xff0c;我们介绍了如何通过Spring Boot来实现HTTP接口&#xff0c;以及围绕HTTP接口相关的单元测试、文档生成等实用技能。但是&#xff0c;这些内容还不足以帮助我们构建一个动态应用的服务端程序。不论我们是要做App、小程序、还是传统的Web站点&#xff0c;…