[LeetCode] 201. 数字范围按位与

Posted 怕什么

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[LeetCode] 201. 数字范围按位与相关的知识,希望对你有一定的参考价值。

这道题没有想法。。。。

解法一:暴力解法

public int rangeBitwiseAnd(int m, int n) {
    int res = m;
    for (int i = m + 1; i <= n; i++) {
        res &= i;
    }
    return res;
}

作者:windliang
链接:https://leetcode-cn.com/problems/bitwise-and-of-numbers-range/solution/xiang-xi-tong-su-de-si-lu-fen-xi-duo-jie-fa-by--41/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

优化:

public int rangeBitwiseAnd(int m, int n) {
    //m 要赋值给 i,所以提前判断一下
    if(m == Integer.MAX_VALUE){
        return m;
    }
    int res = m;
    for (int i = m + 1; i <= n; i++) {
        res &= i;
        if(res == 0 ||  i == Integer.MAX_VALUE){
            break;
        }
    }
    return res;
}

作者:windliang
链接:https://leetcode-cn.com/problems/bitwise-and-of-numbers-range/solution/xiang-xi-tong-su-de-si-lu-fen-xi-duo-jie-fa-by--41/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

解法二:

移位

以上是关于[LeetCode] 201. 数字范围按位与的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode Java刷题笔记—201. 数字范围按位与

[LeetCode] 201. 数字范围按位与

Leetcode练习(Python):位运算类:第201题:数字范围按位与:给定范围 [m, n],其中 0 <= m <= n <= 2147483647,返回此范围内所有数字的按

leetcode刷题总结201-250

《LeetCode之每日一题》:204.数字范围按位与

LeetCode刷题模版:201 - 210