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

内蒙古建设厅设计处网站qq推广中心

内蒙古建设厅设计处网站,qq推广中心,建设一个网站需要哪些员工,手机开发者选项开启的好还是关闭的好目录 前言问题介绍解决方案代码编写java语言版本c语言版本c语言版本 思考感悟写在最后 前言 当前所有算法都使用测试用例运行过#xff0c;但是不保证100%的测试用例#xff0c;如果存在问题务必联系批评指正~ 在此感谢左大神让我对算法有了新的感悟认识#xff01; 问题介… 目录 前言问题介绍解决方案代码编写java语言版本c语言版本c语言版本 思考感悟写在最后 前言 当前所有算法都使用测试用例运行过但是不保证100%的测试用例如果存在问题务必联系批评指正~ 在此感谢左大神让我对算法有了新的感悟认识 问题介绍 原问题 从1到n的自然数组中1出现的次数如何计算 如 [1…11] 中有1的有 1,10,11结果为4 解决方案 原问题 首先给一个示例n 114时求[1…114]之间1的个数 首先我们求15 - 114之间1的个数然后再求[1…14]之间1的个数为什么这么来可以看下面的感 1 15-114之间1的个数如何求 1、首先百位是1时的数一共有14个如果百位是2时则百位是1的个数就是100-199也就是 10^2个 2、其次求10位是1的个数百位首先范围只能是1如果百位是2那么范围就是[1…2]按照除了十位和百位以外其他的可以随便取所以就是10^1个如果百位是2就是 2 * 10^1个 3、接下来算个位时同十位相同那么这个时候你可能会问个位时1时十位难道不限制吗哎就是不用限制为什么看下面1 先看下代码怎么写然后咱们讨论一下巧妙之处~ 代码编写 java语言版本 原问题 方法一 /*** 二轮测试 给定整数num求1-num中1出现的次数* param num* return*/public static int oneNumCp1(int num) {if (num 1) {return 0;}if (num 10) {// 10以内的数只有一个1return 1;}// 计算位数int len 0;int tem num;while (tem ! 0) {len ;tem / 10;}// 求起点tem num;// 最高位int height (int)(tem / Math.pow(10, len-1));// 当前轮的起点int start (int)(tem - (height) * Math.pow(10, len-1)) 1;// 计算当前层的1的个数int oneNum 0;// 先计算最高位是1的情况if (height 1) {// 最高位是1oneNum start;}else {oneNum Math.pow(10, len-1);}// 剩余的自由组合oneNum Math.pow(10, len-2) * height * (len-1);return oneNum oneNumCp1(start-1);}public static void main(String[] args) {System.out.println(oneNumCp1(114));}c语言版本 正在学习中 c语言版本 正在学习中 思考感悟 写在最后 方案和代码仅提供学习和思考使用切勿随意滥用如有错误和不合理的地方务必批评指正~ 如果需要git源码可邮件给2260755767qq.com 再次感谢左大神对我算法的指点迷津 首先这个答案可以解释上面两个疑惑 为什么偏偏计算15-114呢就是因为我们在计算个位后面可能是低位的时候以为十位可能会被限制为1不能为2这样计算起来很麻烦所以这里取巧了将15-99的数字全部加载114的后面这样就凑齐了100-199这样计算个位就不会被10位限制很显然后续的计算直接计算1-15也不会再计算15-99了。 2、现在114并不典型我们需要注意一下214的情况 214的解法仍然是求15 - 214先我们发现15-99能够填充214到299首先算十位是没有变化的注意十位是1时百位是2时219等价于 019 虽然219不存在但是019能够作为代替这也解释了为什么百位不能为1只能是1-2的范围。 3、还有一个容易误会的地方就是刚开始我会觉得当十位是1的时候个位会有1的时候那么计算个位1的时候十位也会有1的时候是否会有重复 这里是一个理解误区我们在计算1的个数时如果有一个数是111那么这个数应该被计数三次才对很显然我们在排列组合的时候会计算三次完全没有问题 ↩︎ ↩︎
http://www.tj-hxxt.cn/news/220998.html

相关文章:

  • 电脑网站打不开怎么解决wordpress虚拟资源源码
  • 莱州网站建设有限公司网站首页不见怎么做
  • 建设网银登录官方网站企业网站建设长沙
  • 网站功能图琪歌 wordpress
  • 2019做什么类型网站成都旅游学院
  • 外包类设计网站品牌设计公司推荐
  • 英文站 wordpress seo优化聊城做网站的公司平台
  • 建筑方案的网站吉林省建设招标网站
  • 如何为一个网站做短连接深圳网络品牌
  • 电子商务搭建网站做公司网站要注意什么
  • 北京团购网站建设中英企业网站
  • 手机网站建设专业服务公司代理网址需要用户名和密码
  • 网站上面带官网字样怎么做的定制做网站技术
  • 做电影网站会违法吗公司网站如何建设教学视频
  • 单位发购物或电影卡有哪些app淄博做网站优化
  • 找人做seo要给网站程序如何进入网站后台管理系统
  • 鲜花网站建设介绍公司网站设计哪家公司好
  • 抄袭别人网站的前端代码合法吗茶道网站开发背景
  • 通讯设备东莞网站建设揭阳企业建站服务公司
  • 广州网络公司建站微信商户服务商平台
  • 网站开发简历项目经验金山建设机械网站
  • 做网站需要注意的事项WordPress添加产品属性
  • 乐居房产官方网站河源网站推广
  • 天津有哪些有名的网站建设公司网站备案查询 工信部
  • 建设厅三类人员网站网页模板源代码
  • 网站正在建设中a手机版建设集团有限公司英文
  • 魔兽世界做宏网站做网站前端程序员
  • 网站建设需要做什么准备工作网络营销员是干嘛的
  • 合肥响应式网站开发方案哈尔滨网站推广优化公司
  • 精品网站建设费用 地址磐石网络wordpress depth