leetcode 201 数字范围按位与

news2025/1/11 18:48:58

leetcode 201

  • 题目
  • 题解
  • 代码

题目

给你两个整数 left 和 right ,表示区间 [left, right] ,返回此区间内所有数字 按位与 的结果(包含 left、right 端点)。
具体示例如下:

在这里插入图片描述

题解

本题是一个在思维上的方法,不涉及数据结构和具体的算法。
首先如果是暴力解法遍历区间内的所有数字是超过时间限制的。

首先有两个规则:
(1)假设区间中有w个数字,那么n个数字在第k位只要有一个数字不是1那么按位&的结果一定是0
(2)在区间left到right中,因为是连续的整数,所以一定在left和right的后面的n位上均存在0,根据(1)可知后面的n位按位&的结果都是0.
综上我们只需要找到n到底是几,以及left和right的公共前缀就可以了。现在就可以看代码部分了,其中shift表示的就是n。

代码

class Solution {
public:
    int rangeBitwiseAnd(int left, int right) {
        int shift = 0;
        while(left!=right){
            left = left >> 1;
            right = right >> 1;
            shift+= 1;
        }
        return left << shift;
    }
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1282068.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

HarmonyOS4.0系列——03、声明式UI、链式编程、事件方法、以及自定义组件简单案例

HarmonyOS4.0系列——03、声明式UI、链式编程、事件方法、以及自定义组件简单案例 声明式 UI ArkTS以声明方式组合和扩展组件来描述应用程序的UI&#xff0c;同时还提供了基本的属性、事件和子组件配置方法&#xff0c;帮助开发者实现应用交互逻辑。 如果组件的接口定义没有包…

Git:分布式版本控制系统的崛起与演变

简介 Git是一个开源的分布式版本控制系统&#xff0c;旨在有效、高速地处理从很小到非常大的项目版本管理。它是由Linus Torvalds于2005年创建的&#xff0c;最初是为了服务于Linux内核开发的版本控制需求。Git通过强大的分支功能、高效的缓存机制以及可扩展的架构设计&#xf…

实验六 单脉冲触发中断实验(汇编与微机原理)

实验目的&#xff1a; 掌握可编程中断控制器8259一般的使用方法。 掌握8259初始化的编程方法及中断服务程序的编写方法&#xff0c;中断程序的调试方法。 实验内容&#xff1a; 用单脉冲按钮的正脉冲输出作为中断控制器8259的中断源产生中断请求&#xff0c;在中断服务程序…

启动微服务idea控制台配置及样式

启动微服务idea控制台配置及样式 1. view —> tool windows —> services 2.控制台样式&#xff0c;下载插件 Grep Console &#xff0c;可在设置中设置颜色

element 弹窗在弹出后鼠标还可以点击页面其他元素

文章目录 需求分析需求 如下图所示,在点击弹出弹框后,支持 鼠标可点击弹框外的其他地方可拖拽弹框弹出弹出后不可有遮挡弹出样式可自定义 分析 官网:https://vxetable.cn/v4/#/table/start/install 安装 vxe-table 引入import {App, createApp }

全球大模型发展整体态势,暗流涌动下的机遇

原创 | 文 BFT机器人 (一)大模推动能“涌现”&#xff0c;打开AI术发展上限 人工智能大模型&#xff0c;是指通过在海量数据上依托强大算力资源进行训练后能完成大量不同下游任务的模型。 在技术层面上&#xff0c;大模型的实现采用“预训练指令微调人类反馈的强化学习”的训练…

3款技术宅下载神器you-get,DownKyi,Hitomi-Downloader

今天在B站看到一个无水印素材视频&#xff0c;就想着下载下来。原来我一直用硕鼠的&#xff0c;但今天硕鼠官网访问不了。python小工具比较多&#xff0c;搜索一下发现几款不错的下载小工具&#xff0c;推荐给大家。 一、准备工作 很多时候我们要做视频处理&#xff0c;或者视…

记录 | Mac微信双开

目的&#xff1a;在 mac 上微信双开 (1) 先打开并登录第一个微信&#xff1b; 2&#xff09;访达 -> 应用程序 -> 微信&#xff08;双指同时摁&#xff09;-> 显示包内容&#xff1b; 3&#xff09;依次打开以下⽂件夹 Contents -> MacOS -> 双击 WeChat 即可…

Redis 安装部署

文章目录 1、前言2、安装部署2.1、单机模式2.1.1、通过 yum 安装&#xff08;不推荐&#xff0c;版本老旧&#xff09;2.1.1、通过源码编译安装&#xff08;推荐&#xff09; 2.2、主从模式2.3、哨兵模式2.4、集群模式2.5、其他命令2.6、其他操作系统 3、使用3.1、Java 代码 —…

开源数据大屏系统介绍

睿思BI数据大屏系统现已开源&#xff0c;通过拖拽配置的方式构建大屏&#xff0c;支持零代码开发。并且包含大量大屏模版&#xff0c;方便用户快速创建大屏应用。 系统主要包括数据准备、大屏设计、权限管理3个部分内容。 1.数据准备 1.1 创建数据源&#xff1a;定义BI系统链…

基于HTML 实现的示波器-含完整源码

完整资料下载连接 基于HTML 实现的示波器-含jshtmlcss完整源码 改源码是在桌面 PC 上设计的&#xff0c;分辨率为 1920 x 1080 像素&#xff0c;但宽高像素比为 1.4 到 1.6 的任何分辨率都将产生良好的图像。它适用于以下浏览器的最新版本&#xff1a;Internet Explorer、Edge、…

如何利用企业软件著作权查询API提升知识产权管理效率

引言 在当今数字化时代&#xff0c;企业的知识产权管理变得愈发重要。其中&#xff0c;软件著作权作为企业重要的知识产权之一&#xff0c;其保护和管理对于企业的创新和竞争力至关重要。为了更高效地进行软件著作权管理&#xff0c;许多企业开始采用先进的技术手段&#xff0…

初识谷歌chrome插件

谷歌插件想必各位都用过&#xff0c;使用广泛的vue-tools想必大家都不陌生吧&#xff0c;这就是谷歌插件。与其说是谷歌插件&#xff0c;倒不如说是浏览器插件&#xff0c;只是谷歌浏览器用的比较普遍罢了。所以这里就用谷歌插件代称吧。 1.何为插件 先来看下比较官方的定义&a…

Spring 向页面传值以及接受页面传过来的参数的方式

一、从页面接收参数 Spring MVC接收请求提交的参数值的几种方法&#xff1a; 使用HttpServletRequest获取。 RequestMapping("/login.do") public String login(HttpServletRequest request){ String name request.getParameter("name") String pa…

JVM性能调优理论与实践

内存模型 方法区&#xff0c;堆是所有线程共有。 栈&#xff0c;本地计数器是线程私有。 方法区 保存class文件加载后的类信息&#xff0c;常量池数据等 1.8后叫metaspace 会OOM&#xff0c;如动态加载类文件时: java.lang.OutOfMemoryError: PermGen space 堆 最大的内存…

22款奔驰GLE450升级香氛负离子 车载香薰功能

相信大家都知道&#xff0c;奔驰自从研发出香氛负离子系统后&#xff0c;一直都受广大奔驰车主的追捧&#xff0c;香氛负离子不仅可以散发出清香淡雅的香气外&#xff0c;还可以对车内的空气进行过滤&#xff0c;使车内的有害气味通过负离子进行过滤&#xff0c;达到车内保持清…

prometheus|云原生|轻型日志收集系统loki+promtail的部署说明

一&#xff0c; 日志聚合的概念说明 日志------ 每一个程序&#xff0c;服务都应该有保留日志&#xff0c;日志的作用第一是记录程序运行的情况&#xff0c;在出错的时候能够记录错误情况&#xff0c;简单来说就是审计工作&#xff0c;例如nginx服务的日志&#xff0c;kuber…

3D旋转tab图

上图 代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>3D旋转tab图</title><style>* {margin: 0;padding: 0;}body {height: 100vh;background: linear-gradient(to top, #29323c, #…

CRM选型:避免盲目跟风,要选最适合自己的!

CRM系统品牌繁多&#xff0c;各有优劣。对CRM系统不够了解的企业该如何选到适合的CRM系统&#xff1f;针对这个问题&#xff0c;我们就来聊聊&#xff0c;如何判定CRM系统是否适合自身企业&#xff1f; 一、综合性 CRM系统应该具有很好的综合性能&#xff0c;能够管理客户的整…

SpringTask入门案例

Task cron表达式在线生成网址&#xff1a; https://cron.qqe2.com/ import lombok.extern.slf4j.Slf4j; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component;import java.time.LocalDateTime;/*** 定时任务类*/ Sl…