博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode Bitwise AND of Numbers Range
阅读量:5024 次
发布时间:2019-06-12

本文共 623 字,大约阅读时间需要 2 分钟。

原题链接在这里:

题目:

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.

题解:

举几个例子可以看出能位运算&出1 bit的位置都是高位,低位的所有可能数字走一遍都会是0. 

所以找m和n高位相同的1 bit, 后面都是0 bit.

Time Complexity: O(1), 最多32位. Space: O(1).

AC Java:

1 public class Solution { 2     public int rangeBitwiseAnd(int m, int n) { 3         int count = 0; 4         while(m!=n){ 5             m >>= 1; 6             n >>= 1; 7             count++; 8         } 9         return m <<= count;10     }11 }

 

转载于:https://www.cnblogs.com/Dylan-Java-NYC/p/4919770.html

你可能感兴趣的文章
SpringMVC(十六) 处理模型数据之SessionAttributes
查看>>
阅读笔记01
查看>>
mysql设置有外键的主键自增及其他
查看>>
laravel常用函数大全Helper
查看>>
poj2299 Ultra-QuickSort
查看>>
第三部分shell编程3(shell脚本2)
查看>>
一个基于jQuery的移动端条件选择查询插件(原创)
查看>>
C# Winform 自适应
查看>>
IE阻止个别AC插件的原因及解决办法
查看>>
网络编程原始套接字
查看>>
Centos下源码安装git
查看>>
gulp-rev-append md5版本号
查看>>
IO流之File类
查看>>
sql 基础语句
查看>>
CF717A Festival Organization(第一类斯特林数,斐波那契数列)
查看>>
oracle直接读写ms sqlserver数据库(二)配置透明网关
查看>>
控件发布:div2dropdownlist(div模拟dropdownlist控件)
查看>>
Oracle composite index column ordering
查看>>
大话设计模式随笔四
查看>>
关于 ORA-01439: 要更改数据类型, 则要修改的列必须为空
查看>>