A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

leetcode上碰到的一个题,得到结果很简单,但是花的时间有点长,求高效解法

Given a range [m, n] where 0 <= m <= n <= 2147483647, return the bitwise AND of all numbers in this range, inclusive.

For example, given the range [5, 7], you should return 4.

下面这样的算法,效率是不行的
public int rangeBitwiseAnd(int m, int n) {
        int result = n;
        for(int i = m; i < n; i++) {
            result = result & i;
        }
        return result;
    }
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马