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

博州住房和城乡建设部网站app开发需要哪些知识

博州住房和城乡建设部网站,app开发需要哪些知识,天津市建设厅官方网站,自动建设网站系统摘要 剑指 Offer 43. 1~n 整数中 1 出现的次数 一、数学思维解析 将1~ n的个位、十位、百位、...的1出现次数相加,即为1出现的总次数。 设数字n是个x位数,记n的第i位为ni​,则可将n写为 nxnx−1⋯n2n1: 称" …

摘要

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

一、数学思维解析

将1~ n的个位、十位、百位、...的1出现次数相加,即为1出现的总次数。

设数字n是个x位数,记n的第i位为ni​,则可将n写为 nxnx−1⋯n2n1:

  • 称" ni" 为 当前位 ,记为 cur ,
  • 将" ni−1ni−2⋯n2n1​ " 称为 低位 ,记为low ;
  • 将" nxnx−1⋯ni+2ni+1​ " 称为高位 ,记为high 。
  • 将10i称为位因子 ,记为digit。

某位中1出现次数的计算方法:根据当前位 cur值的不同,分为以下三种情况:

当 cur=0时: 此位1的出现次数只由高位 high决定,计算公式为:high×digit:

 当cur=1时: 此位1的出现次数由高位high和低位low决定,计算公式为:high×digit+low+1

当cur=2,3,⋯ ,9时 此位1的出现次数只由高位 high决定,计算公式为:(high+1)×digit:

package Math;/*** @Classname JZ43整数中1出现的次数* @Description TODO* @Date 2023/3/7 20:55* @Created by xjl*/
public class JZ43整数中1出现的次数 {/*** @description 整数中1出现的次数 * @param: n* @date: 2023/3/7 20:56* @return: int* @author: xjl*/public int countDigitOne(int n) {int digit = 1, res = 0;int high = n / 10, cur = n % 10, low = 0;while (high != 0 || cur != 0) {if (cur == 0) {res += high * digit;} else if (cur == 1) {res += high * digit + low + 1;} else {res += (high + 1) * digit;}low += cur * digit;cur = high % 10;high /= 10;digit *= 10;}return res;}
}

复杂度分析

  • 时间复杂度O(log⁡n): 循环内的计算操作使用O(1)时间;循环次数为数字n的位数,即log⁡10n,因此循环使用O(log⁡n)时间。
  • 空间复杂度 O(1) : 几个变量使用常数大小的额外空间。

二、暴力解析

一般是超时的选择

    /*** @description 相当于的暴力求解的顺序* @param: n* @date: 2023/3/7 21:15* @return: int* @author: xjl*/public int countDigitOne2(int n) {String result = "";for (int i = 1; i <= n; i++) {result += String.valueOf(i);}int count = 0;for (int i = 0; i < result.length(); i++) {if (result.charAt(i) == '1') {count++;}}return count;}

复杂度分析

  • 时间复杂度O(n): 循环内的计算操作使用O(1)时间;循环次数为数字n的位数,即log⁡10n,因此循环使用O(log⁡n)时间。
  • 空间复杂度 O(n) : 几个变量使用常数大小的额外空间。

博文参考

《leetcode》

http://www.sczhlp.com/news/60547/

相关文章:

  • 石家庄手机网站制作网站换空间的流程
  • 网站 维护 协议天河岗顶棠下上社网站建设公司
  • 二手交易网站开发的国外做鞋子的网站
  • 网站建设多少钱实惠湘潭磐石网络如何用百度云文件做网站
  • 上海策朋网站设计公司网上买保险有哪些平台
  • 南宁网站快速优福州网站设计网站系统制作
  • 北京网站优化排名推广绿色主色调网站
  • 做营养的网站wordpress 连接丢失
  • 网站后台修改移动端网站建设需要注意哪些问题
  • 做网站要sql 数据库名字账号密码开商城网站
  • 设计一个网站先做哪些构造wordpress文章增加新字段
  • 网站托管是什么品牌运营
  • 模块网站开发工具软件开发 网站建设
  • 做地铁建设的公司网站网站建设周期
  • 南宁做网站建设海外公司注册在哪里比较好
  • 福州帮人建网站公司城关网站seo
  • 企业网站建设方案 功能规划网架制作厂
  • 服务器建设网站电子商务平台网站建设方式
  • 天峻县公司网站建设wordpress-zh
  • 公司做哪个网站比较好wordpress主题编写
  • 有哪些做鞋机设备的网站蓝色企业网站手机版织梦模板
  • wordpress 名站许昌公司做网站
  • 西安网站开发公司电话微信自己怎么做小程序
  • 建设网站的一些基本代码关键词推广和定向推广
  • 高权重网站出售wordpress 页面打不开
  • 购彩网站建设天天传媒有限公司网站
  • cms网站怎么建在线编辑网页
  • 电子商务网站建设与管理 技能实训企业建立自己的网站
  • 福建专业网站建设欢迎咨询app推广员怎么做
  • 英文站 wordpress seo优化湖南网站建设 尖端磐石网络