达州住房和城乡建设部网站,深圳微信商城网站设计价格,做影集的网站或软件下载,高端女装品牌前十名题目链接#xff1a;1680. 连接连续二进制数字#xff08;中等#xff09; 算法原理#xff1a; 解法#xff1a;位运算模拟 237ms击败33.33% 时间复杂度O(Nlogn) 通过位运算直接把最终结果存在一个int里#xff0c;如何实现呢#xff1f; ①遍历1~n#xff0c;并计算当…题目链接1680. 连接连续二进制数字中等算法原理解法位运算模拟237ms击败33.33%时间复杂度O(Nlogn)通过位运算直接把最终结果存在一个int里如何实现呢①遍历1~n并计算当前数 i 的二进制位数x②将 i x位就达到了“拼接”效果为后续的数在后面拼接留出空间③再 | i的下个数就完美达到了“拼接”效果最后返回ret即可Java代码class Solution { private int MOD1_000_000_007; public int concatenatedBinary(int n) { long ret0; for(int i1;in;i) ret((retcount(i))|i)%MOD; return (int)ret; } //计算二进制位数 private int count(int n){ int cnt0; while(n!0){ n/2; cnt; } return cnt; } }