LeetCode 201 Bitwise AND of Numbers Range 位运算 难度:0
2024-08-24 15:56:17
https://leetcode.com/problems/bitwise-and-of-numbers-range/
[n,m]区间的合取总值就是n,m对齐后前面一段相同的数位的值
比如
5:101
7:111
结果就是
4:100
class Solution {
public:
int rangeBitwiseAnd(int m, int n) {
int len = 0;
long long tmp = 1;
for(;tmp <= n || tmp <= m;len++){tmp<<=1;}
int ans = 0;
for(int i = len - 1;i>=0;i--){
if(((1<<i) & n) == ((1<<i) & m))ans |= (1<<i)&m;
else break;
}
return ans;
}
};
最新文章
- HTTP服务器(1)
- href链接的地址
- AFNetworking简单用法
- 【C语言入门教程】1.3 C语言“32个”关键字
- JSP+Servlet中使用cos.jar进行图片上传(文件上传亦然)
- dotnetConf
- open和fopen的区别
- LeetCode 142
- 转(HP大中华区总裁孙振耀退休感言)
- 2016030202 - github中sshkey信息设置
- cocos2dx 3.1从零学习(三)——Touch事件(回调,反向传值)
- HttpSession具体解释
- mongo 初级使用
- Git错误merge怎么办?
- Swoft 容器使用
- iOS - 高德地图步行线路规划多点多条线路
- .NET MVC中的ActionResult
- 洛谷P1784 数独
- 本地Git与github连接/上传配置
- 使用 Beautiful Soup