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

凡科如何开通网站建设seo排名优化方式方法

凡科如何开通网站建设,seo排名优化方式方法,官网站内推广内容,如何备案成企业网站不含101的数 题目描述 小明在学习二进制时#xff0c;发现了一类不含 101的数#xff0c;也就是#xff1a; 将数字用二进制表示#xff0c;不能出现 101 。 现在给定一个整数区间 [l,r] #xff0c;请问这个区间包含了多少个二进制不含 101 的整数#xff1f; 输入描述…不含101的数 题目描述 小明在学习二进制时发现了一类不含 101的数也就是 将数字用二进制表示不能出现 101 。 现在给定一个整数区间 [l,r] 请问这个区间包含了多少个二进制不含 101 的整数 输入描述 输入的唯一一行包含两个正整数 l r 1 ≤ l ≤ r ≤ 10^9。 输出描述 输出的唯一一行包含一个整数表示在 [l,r] 区间内一共有几个不含 101 的数。 输入1 10输出8说明区间 [1,10] 内 5 的二进制表示为 101 10的二进制表示为 1010 因此区间 [ 1 , 10 ] 内有 10−28 个不含 101的数。 输入10 20输出7说明区间 [10,20] 内满足条件的数字有 [12,14,15,16,17,18,19] 因此答案为 7。 源码和解析 解析 思路1 for循环暴力求解。十进制转二进制再转字符串。借助字符串的indexOf来判断是否包含。 这种方式就是区间过大时花费的时间会比较久一些。 示例代码暴力破解 public class T28 {public static void main(String[] args) {String input1 10;int leftInteger.parseInt(input.split( )[0]);int rightInteger.parseInt(input.split( )[1]);int countright-left1;// 二进制不包含101的个数for(;leftright;left){if(Integer.toBinaryString(left).indexOf(101)!-1){count--;}}System.out.println(count);} }当输入的值为10和20时测试输出与结果如下图 解析 思路2使用简单数位DP算法数不再是数而是由多个单字符组成的字符进行求解 若对数位DP算法不懂的可以参考我的另一篇博客 【算法】使用数位算法生成0至某个数之间的整数for循环之外的另一种实现方式蛮长见识的 public class T28 {public static int raw[] null;public static int num[] null;public static int count 0;public static void main(String[] args) {String input 20 50;int left Integer.parseInt(input.split( )[0]);int right Integer.parseInt(input.split( )[1]);int totalCount right - left 1;// 二进制不包含101的个数handle(left - 1);int leftCount count;count 0;handle(right);int rightCount count;System.out.println(totalCount - (rightCount - leftCount));}public static void handle(int number) {int len (number ).length();raw new int[len];num new int[len];for (int i 0; i len; i) {raw[i] number % 10;number / 10;}dfs(len - 1, true);}static StringBuilder sb new StringBuilder();public static void dfs(int p, boolean limit) {if (p 0) {for (int i num.length - 1; i 0; i--) {sb.append(num[i]);}if (Integer.toBinaryString(Integer.parseInt(sb.toString())).indexOf(101) ! -1) {count;}sb.setLength(0);return;}int up limit ? raw[p] : 9;for (int i 0; i up; i) {num[p] i;dfs(p - 1, limitiup);}} } 算法时间比较 输入算法输出耗时1 10数位DP8481000纳秒1 10暴力破解8454500纳秒10 20数位DP7507200纳秒10 20暴力破解7445800纳秒2000 5000000数位DP376367622331000纳秒2000 5000000暴力破解376367230676000纳秒 从时间的角度来说这里并未充分发挥出数位DP算法的优势。但是数位DP算法对数字的长度限制会小很多。
http://www.w-s-a.com/news/244671/

相关文章:

  • 企业有域名怎么做网站淘宝推广平台
  • 学网站开发去哪学药品销售推广方案
  • 哔哩哔哩h5播放器深圳网站seo外包公司哪家好
  • asp做的手机网站wordpress 文章title
  • 网站验证码目录wordpress内嵌播放器
  • 文明网网站建设南昌市建设规费标准网站
  • 安康有建网站的公司吗做网站用什么网名好
  • 济南网站制作哪家专业西安市城乡建设网官方网站
  • 网站建设有趣小游戏怎样让网站优化的方式
  • 昭通做网站儿童编程教学入门教程
  • eclipse静态网站开发软文广告投放平台
  • 网站建设教学视频济南做网站需要多少钱
  • 网站免费做软件市工商联官方网站建设方案
  • 网站建设大体包含英铭长沙网站建设
  • 网站建设培训学校北京如何搜索网站
  • discuz论坛模板哪些网站容易做seo优化
  • 渭南公司做网站网站建设互联网推广
  • 公司网站app怎么做杭州建设局网站
  • 网站开发需要自己写代码吗12306网站多少钱做的
  • 策勒网站建设四川建设网有限责任公司招聘
  • 网站建设哪里有学网页界面设计论文
  • 怎么做外贸网站推广劳务公司网站怎么做
  • 滴答手表网站中铁建设集团有限公司招聘信息2021
  • 重庆富通科技有限公司网站新闻头条最新消息国家大事
  • 四字母net做网站怎么样企业代运营公司
  • 纪检网站建设方案wordpress首页静态页面
  • 网站右下角浮动效果如何做网站logo设计在线生成
  • 西宁哪里做网站婚纱摄影网站设计思路
  • 凡科用模板做网站网站导入页欣赏
  • 北京响应式网站建设公司十大小程序开发公司