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

郑州做网站报价站域名多少钱竞价排名广告

郑州做网站报价站域名多少钱,竞价排名广告,分享设计的网站,北京网站建站模板这段代码的功能是计算一个32位整数中,经过至多一次位翻转(0变1或1变0)后能得到的连续1的最大长度。例如,输入1775(二进制11011101111),翻转中间的0后变为11011111111,连续1的最大长度…

这段代码的功能是计算一个32位整数中,经过至多一次位翻转(0变1或1变0)后能得到的连续1的最大长度。例如,输入1775(二进制11011101111),翻转中间的0后变为11011111111,连续1的最大长度为8。

核心思路

代码通过维护两个变量curinsert来跟踪当前连续1的长度和包含一次翻转的最长长度:

  1. cur:记录当前连续1的长度(遇到0时重置为0)。
  2. insert:记录包含一次翻转的连续1的最大长度。每次遇到0时,insert更新为cur + 1(即把当前0翻转后的长度)。
  3. 遍历每一位:检查每一位是0还是1,并更新curinsert的值,最终取最大值res

代码逐行解释

int reverseBits(int num) {int res = 0;    // 最终结果:连续1的最大长度int cur = 0;    // 当前连续1的长度int insert = 0; // 包含一次翻转的连续1的长度for (int i = 0; i < 32; ++i)  // 遍历32位整数的每一位{if (num & (1 << i))  // 如果当前位是1{cur++;       // 连续1的长度加1insert++;    // 包含翻转的长度也加1}else  // 如果当前位是0{insert = cur + 1;  // 翻转当前0,长度为前面连续1的长度+1cur = 0;           // 重置当前连续1的长度为0}res = max(res, insert);  // 更新最大长度}return res;
}

关键逻辑分析

  1. 遇到1时
    • curinsert都加1,表示连续1的长度增加。
  2. 遇到0时
    • insert更新为cur + 1,即假设翻转当前0后的总长度。
    • cur重置为0,因为当前连续1的序列被打断。
  3. 为什么有效?
    • 每次遇到0时,insert记录了“上一段连续1 + 当前翻转的0”的长度。
    • 如果后续还有连续1,insert会继续累加,相当于“上一段连续1 + 翻转的0 + 新的连续1”。

示例验证

输入num = 1775(二进制11011101111):

位: 1 1 0 1 1 1 0 1 1 1 1 0 ...(其余为0)
i   0 1 2 3 4 5 6 7 8 9 10 11...
cur 1 2 0 1 2 3 0 1 2 3 4 0...
ins 1 2 3 1 2 3 4 1 2 3 4 5...
res 1 2 3 3 3 3 4 4 4 4 4 5...最终res = 8(翻转第6位后的连续长度)

总结

这段代码巧妙地利用一次遍历,通过维护两个变量curinsert,在线性时间内计算出翻转至多一位后的最长连续1的长度。其核心思想是动态更新包含一次翻转的最大长度,确保正确性的同时保持高效性。

http://www.dtcms.com/wzjs/307952.html

相关文章:

  • 宝山品牌网站建设seo排名优化怎么样
  • 成都微信网站建设如何注册一个网站
  • 动漫做的游戏 迅雷下载网站有哪些合肥网络优化推广公司
  • java做的网站怎么设置关闭和开启网站访问如何刷seo关键词排名
  • 模板网站也需要服务器吗快速排名上
  • 如何在百度能搜索到公司网站今日国内新闻头条新闻
  • 电商网站建设济南建网站矿坛器材友情交换
  • 广州网站程序开发百度推广代理商赚钱吗
  • 河南建设工程信息网一体化平台官网seo提升排名
  • 网站商城建设哪家好app排名优化公司
  • 在dw里如何做网站网络营销研究现状文献综述
  • 淄博建网站多少钱大金seo
  • 在县城做团购网站百度首页网址是多少
  • 网站建设运营法律风险防范长沙关键词优化新行情报价
  • 注册公司一年大概需要多少费用搜索引擎优化培训班
  • 仿腾讯网站源码怎么创建一个网站
  • 做网站怎么在国外服务器租用知乎关键词搜索排名
  • 锦州网站建设多少钱百度推广后台登录入口官网
  • 阿里巴巴网站图片怎么做的b2b采购平台
  • 西安便民信息发布平台深圳谷歌seo公司
  • wordpress免插件生成地图在线优化工具
  • 如何找枪手做网站企业网站seo诊断报告
  • 网站手机验证码如何做seo搜索引擎优化哪家好
  • 云南企业网站产品宣传
  • 深圳网站建设 推荐xtdseo如何在手机上制作网站
  • 网站的优化分析查排名的网站
  • 网站制作学校要的优化网站链接的方法
  • 智能建站系统官网北京网络seo推广公司
  • 重庆互联网网站建设免费发布推广信息的平台有哪些
  • 一级a做爰片免费网站录像搜索引擎优化seo是什么