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

做漫画网站wordpress 用户登录记录

做漫画网站,wordpress 用户登录记录,制作h5网站开发,小松建设的官方网站给你一个二进制字符串 binary #xff0c;它仅有 0 或者 1 组成。你可以使用下面的操作任意次对它进行修改#xff1a; 操作 1 #xff1a;如果二进制串包含子字符串 00 #xff0c;你可以用 10 将其替换。 比方说#xff0c; 00010…给你一个二进制字符串 binary 它仅有 0 或者 1 组成。你可以使用下面的操作任意次对它进行修改 操作 1 如果二进制串包含子字符串 00 你可以用 10 将其替换。 比方说 00010 - 10010操作 2 如果二进制串包含子字符串 10 你可以用 01 将其替换。 比方说 00010 - 00001 请你返回执行上述操作任意次以后能得到的 最大二进制字符串 。如果二进制字符串 x 对应的十进制数字大于二进制字符串 y 对应的十进制数字那么我们称二进制字符串 x 大于二进制字符串 y 。 示例 1 输入binary 000110 输出111011 解释一个可行的转换为 000110 - 000101 000101 - 100101 100101 - 110101 110101 - 110011 110011 - 111011纯思维题需要在两个对字符串的操作中找到规律。考虑两个操作 00 - 10数字变大了符合最大二进制字符串的所求。 10 - 01数字变小了那么我们为什么需要这个操作他的意义是什么 能够显而易见想到的就是010通过10 - 01虽然单步变小了但修改后变为001进而使用00 - 10最终得到101整体是变大的。 观察010 - 001操作2的起到的作用是什么 将1右移将0连起来进而能够使用操作1对整体进行扩大。 那么将示例按照这个思路解析 000110 - 000101000101 - 000011  到此已经将所有0连续起来。 继续考虑所有连续的0最终会变成什么 00 - 100000就会变成1000再变成1100再变成1110。即000011 - 111011。 使用上面的过程多分析几个字符串就能得到规律 通过操作2可以将101010001这种1/0交替的字符串变成100000111这种1...0...1交替的字符串。再通过操作1可以将连续的0变成仅最后一位为0其余位为1的字符串。00000 - 11110。 也就是说最终得到的最大二进制字符串中最多只有一个0。 而且这个0的位置可以通过原字符串中1和0出现的次数以及第一个0出现的位置确定。 以10101001为例 首先出现0之前的1是不需要改动的。记录第一个出现0的位置zero_first 1。遍历字符串得到所有0的个数num 4。那么按照上面的分析原字符串可以变成10000111。进而变成11110111剩余0的位置位于下标  zero_first num -1处。 这里剩余的问题就是严格证明为什么按照这个流程下来得到的数是最大的。 从直觉上想让字符串变大就尽可能的让所有字符是1并且如果有00的位置要尽量靠后。上面过程得到的结果正符合这个直觉。 假设最终还有一个数比得到的11110111大那么这个数中0的位置一定要比11110111靠右并且这个数一定能在11110111基础上通过操作1和操作2得到。而操作1和操作2中将字符串变大的操作需要至少两个0而11110111只有1个0所以不存在这个数。 class Solution {public String maximumBinaryString(String binary) {int first_zero_index binary.indexOf(0);int zero_count 0;int length binary.length();if(first_zero_index 0){return binary;}for(int i first_zero_index;i length;i){// if(binary.charAt(i) 0){// zero_count;// }zero_count - binary.charAt(i) - 1;}return 1.repeat(first_zero_index zero_count - 1) 0 1.repeat(length - zero_count - first_zero_index);} } 这里还有一个值得注意的地方关注代码中注释掉的部分。他们的效率差别会有多大 // if(binary.charAt(i) 0){// zero_count;// }zero_count - binary.charAt(i) - 1; 原因 字符比较binary.charAt(i) 0需要将字符转换为数字进行比较这是一个相对耗时的操作。字符减法binary.charAt(i) - 1直接将字符转换为数字然后执行减法运算这是一个更快的操作。 因此对于长字符串zero_count - binary.charAt(i) - 1 的效率将比 binary.charAt(i) 0 高得多。
http://www.lakalapos1.cn/news/17259/

相关文章:

  • 成都注册网站公司网站如何做页数
  • 做网站开发要多久北京政务服务官方网站
  • 如何做网站收徒弟网站wordpress内部跳转链接
  • linux wordpress青岛企业网站seo技巧
  • 写作挣钱的网站简洁好看的网站
  • 做网站公司北京互联网产品运营推广方案
  • 什么样的网站适合推广wordpress 图片比例
  • 前端怎么做自己的博客网站免费设计手写签名
  • 做网站排名费用做图片网站赚不赚钱
  • 网站策划书案例展示广西网络干部学院
  • 沈阳做网站有名公司有哪些集团网站设计欣赏
  • 老外做的中国汉字网站wordpress幻灯片回收站在哪
  • 高密制作网站七牛云对象存储
  • 宝安网站制作培训外贸自己做网站
  • 网站制作公司代理有学做衣服的网站吗
  • 办公室装修专业网站wordpress加密修改密码
  • docker可以做网站吗谷歌浏览器手机版官网下载
  • vps 上传网站阿里云网站建设 部署与发布考试
  • 找外包公司做网站价钱定制小程序开发公司
  • 后台网站开发文档网站禁止ping
  • wordpress列表页seo排名工具
  • 网站被墙了怎么办wordpress搭建vip下载站
  • 崇文企业网站建设公司wordpress 如果分类
  • 网站项目策划书内容模板设计手机网站建设
  • 南京代做网站用易语言做攻击网站软件下载
  • 深圳住建局官方网站新网站如何备案
  • 中小企业网站制作价格旅游网站域名应该如何设计
  • 建设购物网站课程设计苏州首页关键词优化
  • 个人网站可以做淘宝客嘛深圳企业注销一窗通
  • 微网站建设云帆网络外贸建网站哪家好