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

LeetCode 1680.连接连续二进制数字:O(n)左移位运算

【LetMeFly】1680.连接连续二进制数字:O(n)左移位运算

力扣题目链接:https://leetcode.cn/problems/concatenation-of-consecutive-binary-numbers/

给你一个整数n,请你将1n的二进制表示连接起来,并返回连接结果对应的十进制数字对109+ 7取余的结果。

示例 1:

输入:n = 1输出:1解释:二进制的 "1" 对应着十进制的 1 。

示例 2:

输入:n = 3输出:27解释:二进制下,1,2 和 3 分别对应 "1" ,"10" 和 "11" 。 将它们依次连接,我们得到 "11011" ,对应着十进制的 27 。

示例 3:

输入:n = 12输出:505379714解释:连接结果为 "1101110010111011110001001101010111100" 。 对应的十进制数字为 118505380540 。 对 109+ 7 取余后,结果为 505379714 。

提示:

  • 1 <= n <= 105

解题方法:位运算

a aab bb的二进制拼接,结果等于a × 10 b i t _ l e n ( b ) + b a\times 10^{bit\_len(b)} + ba×10bit_len(b)+b,而乘法和加法对于取模运算都是幂等的,所以从1 11n nn一次遍历不断拼接相邻两个整数并不断取模即可。

如何求得一个整数的二进制长度?

很多编程语言都有库函数,例如C++可以使用__builtin_clz求得一个整数二进制下前导零的个数,32位整数的位数32 3232减去前导零的个数就是这个数二进制的长度。

  • 时间复杂度O ( n ) O(n)O(n)。大多数现代架构会把__builtin_clz直接映射为单条硬件指令,单次执行时间复杂度是O ( 1 ) O(1)O(1)
  • 空间复杂度O ( 1 ) O(1)O(1)

AC代码

C++
/* * @LastEditTime: 2026-02-28 10:15:41 */typedeflonglongll;constll MOD=1e9+7;classSolution{public:intconcatenatedBinary(intn){ll ans=0;for(inti=1;i<=n;i++){ans=((ans<<(32-__builtin_clz(i)))+i)%MOD;}returnans;}};

同步发文于CSDN和我的个人博客,原创不易,转载经作者同意后请附上原文链接哦~

千篇源码题解已开源

http://www.jsqmd.com/news/424949/

相关文章:

  • 避雷!2026初中语文写作线上机构实测,这两家真能帮孩子提分 - 品牌测评鉴赏家
  • 2026年02月总结及随笔之欢欢喜喜过大年
  • 第3章 Windows运行机理-3.4 线程的机制(5)
  • 第3章 Windows运行机理-3.4 线程的机制(6)
  • 初中语文文言文辅导哪家强?不花冤枉钱,家长直接抄作业 - 品牌测评鉴赏家
  • 矩阵加速
  • println() 与print() 的区别
  • 初中语文网课大揭秘!这几家平台让孩子成绩狂飙 - 品牌测评鉴赏家
  • 小型开发社区:娱乐游戏之后的下一步社交形态
  • 中国个人开发者社区构建的真实阻力与路径选择
  • 中考文言文翻译总丢分?5家宝藏线上机构实测推荐 - 品牌测评鉴赏家
  • 8.ts_内置对象代码雨
  • 开发者社区的“丧尸式“构建策略:从理论到实践
  • 亲测不踩雷!4款初中语文神仙APP,从基础到中考全覆盖(家长必存) - 品牌测评鉴赏家
  • 中考文言文翻译总丢分?5家宝藏线上机构实测推荐,适配不同基础初中生 - 品牌测评鉴赏家
  • PyTorch神经网络组件之Conv2d
  • 中考阅读理解丢分严重?3家靠谱线上机构实测推荐,帮娃高效提分不踩坑 - 品牌测评鉴赏家
  • 看2026上海家装,原木风装修厂家推荐排行来啦,轻奢大平层设计/新中式软装设计/原木风精装房设计,上海家装厂家有哪些 - 品牌推荐师
  • 2026初中语文阅读理解线上辅导大揭秘,选对机构成绩飙升! - 品牌测评鉴赏家
  • 这次终于选对AI论文工具,千笔·专业学术智能体 VS 云笔AI,专科生专属!
  • Task04:字符串
  • 261_尚硅谷_单元测试综合案例
  • 基于YALMIP和CPLEX的Matlab程序实现配电网故障重构模型的二阶锥优化方法,通用性高...
  • 用while循环输出1~1000之间能被5整除的数,并且每行输出3个
  • 实测才敢推!MBA专属降AI神器 —— 千笔·专业降AI率智能体
  • 初中语文提分秘籍!揭秘3家极速提分线上机构 - 品牌测评鉴赏家
  • 干货来了:千笔·降AI率助手,遥遥领先的降AI率工具
  • 2026年灰铁厂家推荐,精密圆棒生产与质量检测认证 - 品牌鉴赏师
  • 小学语文阅读理解辅导哪个平台好?实测5大热门平台,家长闭眼冲不踩坑 - 品牌测评鉴赏家
  • Copilot 模式和 Agent 模式的区别是什么?