190. Reverse Bits 二进制相反数
2024-08-28 19:14:01
[抄题]:
Reverse bits of a given 32 bits unsigned integer.
Example:
Input: 43261596
Output: 964176192
Explanation: 43261596 represented in binary as 00000010100101000001111010011100,
return 964176192 represented in binary as 00111001011110000010100101000000.
[暴力解法]:
时间分析:
空间分析:
[优化后]:
时间分析:
空间分析:
[奇葩输出条件]:
[奇葩corner case]:
[思维问题]:
[一句话思路]:
32位中的每一位都左移 留出空缺、&1取出最后一位、右移丢掉
[输入量]:空: 正常情况:特大:特小:程序里处理到的特殊情况:异常情况(不合法不合理的输入):
[画图]:
[一刷]:
- &1相同后即可+1,统计1 的个数
[二刷]:
[三刷]:
[四刷]:
[五刷]:
[五分钟肉眼debug的结果]:
[总结]:
左移 留出空缺、&1取出最后一位、右移丢掉
[复杂度]:Time complexity: O() Space complexity: O()
[英文数据结构或算法,为什么不用别的数据结构或算法]:
[关键模板化代码]:
[其他解法]:
[Follow Up]:
[LC给出的题目变变变]:
[代码风格] :
public class Solution {
// you need treat n as an unsigned value
public int reverseBits(int n) {
//ini res
int res = 0; //for loop: 32
for (int i = 0; i < 32; i++) {
res <<= 1;
if ((n & 1) == 1) res += 1;
n >>= 1;
} return res;
}
}
最新文章
- 细说SaaS BI国际市场众生相,你准备好了么?
- 如何在Android Studio中添加RecyclerView-v7支持包
- ubuntu 14.04 重复登录问题解决方法
- js日历表
- 为OpenResty增加nginx_upload_module模块
- 实现UITableView循环利用
- Oracle的DDL、DML、DCL
- DB2因表空间不够产生load表失败
- image即时上传
- Bash 常用快捷键(转)
- [LeetCode] Top K Frequent Words 前K个高频词
- iOS开发多线程之NSThread
- echarts 图的点击事件(含:点击重复触发的问题及其解决方法)
- React-理解Redux
- C++拷贝构造函数的调用时机
- C语言复制图片文件
- 两个简单的API限流实现方案
- mysql实战优化之九:MySQL查询缓存总结
- Oracle存储过程简单实例
- Linux内核0.11 setup文件说明