当前位置: 首页 > news >正文

网站建设bxw52b站视频推广网站2023年

网站建设bxw52,b站视频推广网站2023年,网页与网站,广州商城网站建设&#xff08;害&#xff0c;做题是真的慢&#xff0c;这面试给我这题我估计就傻了&#xff09; 题目&#xff1a; 给定一个整数 n&#xff0c;计算所有小于等于 n 的非负整数中数字 1 出现的个数。 题解&#xff1a; 首先看看整数范围 0 < n < 10^9 不能遍历&#xff0…

(害,做题是真的慢,这面试给我这题我估计就傻了)

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

题解:
首先看看整数范围 0 <= n <= 10^9 不能遍历(不过这也肯定不会简单到遍历)

比如存在一个数 25103,我们应该从哪里下手呢

我们是否可以考虑,各个位置上(个位,十位…)存在 1 的情况数量,然后相加得到结果呢

我们先考虑一般情况, 数字 xxx 4 yy,百位上,存在 1 的情况数量怎么算
想一想 100,101,102,…,199是不是百位上都是 1,这种情况 100 种
在考虑一下百位前面的 xxx,是不是总共有 (xxx + 1) * 100 种
(假设 xxx 是 123,那么 123 1 yy 有 100 种,122 1 yy 有 100 种 … 000 1 yy 有 100 种)

接下来稍微扩展一下一般情况,那数字 xxxx 4 y 十位上的情况是不是就是 (xxxx + 1) * 10 种

接下来考虑特殊情况,如果数字 xxx 1 yy 百位上是 1,这怎么算呢
当前面是 xxx 时,百位上为 1 的情况只有 yy 种,但是当前面是 (xxx - n) 时,情况有 100 种
所以是不是情况是 xxx * 100 + yy 种
(假设 xxx 是 123,那么 123 1 yy 有 yy种,但 122 1 yy,则没有这种限制,有 100 种)

再一种特殊情况,如果数字 xxx 0 yy 百位上是 0,这怎么算呢
其实就是当前面是 xxx 时,百位上为 1 的情况为 0 种,当前面是 (xxx - n) 时,情况也都有 100 种
所以情况是 xxx * 100 种

接下来写代码就行了

class Solution {
public:int countDigitOne(int n) {int res = 0;int f = 1;int nn = n / 10;while(nn != 0) {nn = nn / 10;f = f * 10;}int flag = 0;while(f != 0) {int t = n / f;n = n % f;if(t == 1) {res = res + n + 1 + flag * f;}else if(t == 0) {res = res + flag * f;}else {res = res + (flag + 1) * f;}flag = flag * 10 + t;f = f / 10;}return res;}
};
http://www.zhongyajixie.com/news/26629.html

相关文章:

  • wordpress关键词标签整站优化和单词
  • 网站建设学院西安网站建设推广
  • 网站制作维护医疗网站优化公司
  • 上海 培训网站建设新闻热搜榜 今日热点
  • 珠海网站系统建设惠州seo计费管理
  • 上海 网站备案系统怎样弄一个自己的平台
  • 定制跟模板网站有什么不一样百度怎么推广
  • WordPress 发不了文章武汉seo搜索优化
  • 网站建设策划方案书论文app排名优化公司
  • 手机网站建设的第一个问题网络公司主要做哪些
  • 国家示范校建设成果网站游戏推广员好做吗
  • 专门教ps的网站佛山网络推广平台
  • wordpress 插件管理北京seo公司哪家好
  • cms网站开发流程人工智能培训机构排名前十
  • 长春网站排名优化费用怎样创建网站
  • 京东云网站建设营销网店推广的软文
  • 网站后台验证码无法显示关键词搜索量查询工具
  • 深圳公司建站推广网页分析工具
  • 显示网站建设中全部视频支持代表手机浏览器
  • 向国旗敬礼 做新时代好少年网站百度推广手机app下载
  • 荆门建网站费用2023网站分享
  • 腾冲网站建设seo免费优化工具
  • 宜家设计装修怎么收费seo全称是什么
  • 诸城网站建设费用做一个网站需要什么
  • 汕头有建网站公司吗如何创建网站
  • 海尔网站的建设特点百度关键词优化是什么意思
  • asp化妆品网站源码新品上市怎么推广词
  • 绍兴cms建站模板天津网站推广
  • 公司网站如何更改内容网页设计培训教程
  • wordpress 网站导航免费隐私网站推广