leetcode做题笔记201. 数字范围按位与

给你两个整数 leftright ,表示区间 [left, right] ,返回此区间内所有数字 按位与 的结果(包含 leftright 端点)。

示例 1:

复制代码
输入:left = 5, right = 7
输出:4

示例 2:

复制代码
输入:left = 0, right = 0
输出:0

示例 3:

复制代码
输入:left = 1, right = 2147483647
输出:0

思路一:模拟题意

c++解法

cpp 复制代码
class Solution {
public:
    int rangeBitwiseAnd(int left, int right) {
        int shift=0;
        while(left<right){
            left=left>>1;
            right=right>>1;
            shift++;
        }
        return left<<shift;
    }
};

分析:

本题要求两个整数之间所有数字按位与的结果,即按照题返回两个整数二进制字符之间的公共前缀,利用双指针两边向中间靠近求出即可

总结:

本题考察对按位与的思考,原求两个数字之间所有数按位与的结果可转换未求二进制字符间公共前缀,利用双指针的方法解决

相关推荐
Yangy_Jiaojiao5 天前
三维手眼标定
1024程序员节
guozhetao7 天前
【图论,拓扑排序】P1347 排序
数据结构·c++·python·算法·leetcode·图论·1024程序员节
lzb_kkk25 天前
【C++】C++四种类型转换操作符详解
开发语言·c++·windows·1024程序员节
lzb_kkk1 个月前
【MFC】编辑框、下拉框、列表控件
c语言·开发语言·c++·mfc·1024程序员节
lzb_kkk2 个月前
【MFC】树控件的使用详解
开发语言·c++·windows·mfc·1024程序员节
SizeTheMoment2 个月前
List介绍
1024程序员节
开利网络2 个月前
产业互联网+三融战略:重构企业增长密码
大数据·运维·服务器·人工智能·重构·1024程序员节
wei_shuo3 个月前
从数据中台到数据飞轮:实现数据驱动的升级之路
1024程序员节·数据飞轮
玖剹3 个月前
矩阵区域和 --- 前缀和
数据结构·c++·算法·leetcode·矩阵·动态规划·1024程序员节
jamison_14 个月前
文心一言与 DeepSeek 的竞争分析:技术先发优势为何未能转化为市场主导地位?
人工智能·ai·chatgpt·gpt-3·1024程序员节