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

【每日一题】LeetCode 190. 颠倒二进制位

颠倒给定的 32 位有符号整数的二进制位。


利用字符串格式化求原数的二进制表示,利用切片将其颠倒,利用 int(x, base=2) 转回整型。

class Solution:def reverseBits(self, n: int) -> int:return int(f"{n:032b}"[::-1], 2)

利用分治思想:颠倒 32 位二进制表示,可以先把低 16 位与高 16 位交换位置;颠倒 16 位二进制表示,可以先把低 8 位与高 8 位交换位置;……;颠倒 2 位二进制表示,只需把低 1 位和高 1 位交换位置。

倒过来考虑:每 2 位交换一次低位和高位;每 4 位交换一次低位和高位;……;每 16 位交换一次低位和高位。

利用位运算实现,时间复杂度 \(O(\log W)\),空间复杂度 \(O(\log W)\)\(W = 32\)

class Solution {const unsigned m[4] = {0x55555555, 0x33333333, 0x0f0f0f0f, 0x00ff00ff};
public:unsigned reverseBits(unsigned x) {x = (x >> 1 & m[0]) ^ (x & m[0]) << 1;x = (x >> 2 & m[1]) ^ (x & m[1]) << 2;x = (x >> 4 & m[2]) ^ (x & m[2]) << 4;x = (x >> 8 & m[3]) ^ (x & m[3]) << 8;return (x >> 16) ^ (x << 16);}
};
http://www.jsqmd.com/news/387635/

相关文章:

  • AVIF 如何转 PNG?几种常见在线转换方案对比
  • C++中的指针 之二
  • C++中的指针 之一
  • 2026最新AI大模型应用开发的核心技术学习线路看这里,程序员小白必看:大模型应用开发,收藏这份超全学习指南!
  • WebFlux vs MVC:Gateway集成若依框架的技术选型之争 - 实践
  • 掌握应用开发学习路线,大模型开发入门指南:小白也能轻松掌握的AI应用开发流程与实战(收藏版)
  • C++中的指针
  • prompt实践
  • AI_Agent也有体检中心了?AgentDoG开源框架,带你入门智能体安全防护
  • GLM-5与MiniMax-M2.5性能对比,小白程序员必看(收藏版)
  • CppCon 2025 学习:C++23 deducing this
  • 2026 Agent元年!小白程序员必备:大模型学习路线图+精选资源,收藏这份高薪指南!
  • AI大模型从入门到精通:小白程序员必备学习路线(2026最新版)
  • 导师严选!继续教育专用AI论文软件 千笔·专业学术智能体 VS 学术猹
  • Comsol流固耦合注浆及冒浆分析。 采用其中达西定律模块及固体力学模块,通过建立质量源项、体...
  • 信息论与编码篇---欧式距离
  • 学长亲荐!更贴合研究生需求的降AI率平台,千笔·降AI率助手 VS 云笔AI
  • 导师严选! AI论文平台 千笔写作工具 VS WPS AI 更贴合自考需求
  • [NOIP2025 T2] 清仓甩卖 题解
  • 告别低效繁琐!降AI率平台 千笔·专业降AI率智能体 VS 文途AI
  • 实测对比后!千笔·专业学术智能体,专科生论文写作神器
  • 隧道内车距监测,低光环境测距防追尾,输出安全提醒。
  • 江苏美学植发医院排行更新,2026年这些医院上榜,植发/微针植发/发际线种植/美学植发/不剃发植发,美学植发机构推荐排行 - 品牌推荐师
  • 数据结构DS-KMP算法(c++实现)
  • 一键关闭Win杀毒和禁止系统更新,Windows轻松设置
  • SpringBoot智能图书馆座位预约管理系统开题报告
  • 2026年1月清障车实力厂家排行榜单,这些品牌不容错过!3万左右清障车/蓝牌重载清障车,清障车源头厂家哪个好 - 品牌推荐师
  • MG-Nav: 基于稀疏空间记忆的双尺度视觉导航 论文阅读 - 详解
  • 2026最新!8个一键生成论文工具测评:专科生毕业论文+开题报告写作全攻略
  • AtCoder Beginner Contest 445