leetcode Bitwise AND of Numbers Range
2015-10-14 13:24
302 查看
题目链接
不得不说。我的位操作真的不是很好。碰到位操作的题目就不会。注定不能做硬件程序员。。
思路:(是看了别人的代码才有的思路,不然我就用循环做了)
其实从m到n。。。我们可以想象,只有m和n的二进制公共前缀起作用。因为从m到n。公共前缀后面的每一位都会出现0.这样与出来的结果就是0.所以我们只要找到m,n的二进制公共前缀就好。
不得不说。我的位操作真的不是很好。碰到位操作的题目就不会。注定不能做硬件程序员。。
思路:(是看了别人的代码才有的思路,不然我就用循环做了)
其实从m到n。。。我们可以想象,只有m和n的二进制公共前缀起作用。因为从m到n。公共前缀后面的每一位都会出现0.这样与出来的结果就是0.所以我们只要找到m,n的二进制公共前缀就好。
public class Solution { public int rangeBitwiseAnd(int m, int n) { int bitmove=0; while(m!=n) { m>>=1; n>>=1; bitmove++; } return n<<bitmove; } }
相关文章推荐
- 最大费用最大流 hdu4322 Candy
- Altova Xmlspy工具XML文件生成XSD文件并在schema视图中能按树形视图显示
- 面试总结hashmap
- CPU+GPU集群计算中的一种动态负载均衡设计方法
- PHP中文件读、写、删的操作(PHP中对文件和目录操作)
- LR Error: Failed to deliver a p2p message from son to parent process, reason - communication error.
- MYSQL 字符串函数
- XAMPP+Eclipse PDT+yiiclipse+Yii配置创建Yii工程详解
- EasyARM i.mx287学习笔记——minicom配置和使用
- 继承式开发问题一
- 实现add(2)(3)(4)得出结果为 9
- MFC应用程序退出的几种方法
- 完美解决Error initializing Cordova:Class not found
- IOS-11-关于AFNetworking访问网络超时的设置
- Android-SharedPreferences
- 在JTable单元格上 加入组件,并赋予可编辑能力 [转] 表格(单元格放置组件)
- 性能优化之路—化茧成蝶
- LR errorFunction two_way_comm_post_message / two_way_comm_post_message_ex failed.错误
- font awesome 字体冲突 图标无法显示
- POJ3122 Pie 二分查找