当前位置: 首页 > news >正文

力扣面试150题--数字范围按位与

Day 93

题目描述

在这里插入图片描述

思路

初次思路:由于与运算只要出现0结果就是0了,于是我就想按位判断,从小到大依次判断出现0就将该位结果设置为0(超时了)

class Solution {public int rangeBitwiseAnd(int left, int right) {int res=0;int tes=1;int max=right;int sum=0;while(max!=0){//确定判断的最高位是多少max=max>>1;sum++;}for(int i=sum;i>=0;i--){tes=1;for(int j=left;j<=right;j++){if((j>>i)%2==0){//取位tes=0;break;}}res=(res<<1)+tes;}return res;}
}

进阶思路:我们转变思路,将一个数组按位与求的是什么,求得是公共前缀(二进制的高位),如果不一样就是0,于是有如下做法:

class Solution {public int rangeBitwiseAnd(int left, int right) {int shift = 0;// 找到left和right的公共前缀while (left < right) {left >>= 1;right >>= 1;shift++;}// 左移shift位,补回0return left << shift;}
}
http://www.lryc.cn/news/607627.html

相关文章:

  • QPS 与 TPS 的详细解释及核心区别
  • gdrcopy 原理、安装与示例
  • 国内短剧CPS系统开发:技术架构与商业化实践
  • 将 YOLOv11 的 .pt 模型转换为 YOLOv8 格式需要特定的处理流程 机器学习 计算机视觉cv
  • 【数据分享】中国27省乡镇(街道)级人口密度数据集(2000年)
  • 【Open3D】基础操作之三维变换
  • 【数据分享】南海综合波浪数据(1945-2018 年)(获取方式看文末)
  • Servlet作用域,监听器,JSP九大内置对象
  • python基础语法4,函数(简单易上手的python语法教学)课后习题
  • WooCommerce 与 ERP 系统集成解决方案
  • ai项目多智能体
  • 告别软件残留!IObit Uninstaller Pro 让电脑彻底干净!
  • sqli-labs:Less-17关卡详细解析
  • 12.代理模式:Java世界的“中间商“智慧
  • VSCode Python 与 C++ 联合调试配置指南
  • Ⅹ—6.计算机二级综合题23---26套
  • 从内部保护你的网络
  • AIGC(生成式AI)试用 35 -- 用AI解析句子结构
  • 8.1IO进程线程——文件IO函数
  • 60 GHz DreamHAT+ 雷达已被正式批准为“Powered by Raspberry Pi”产品
  • Ubuntu 24.04.2 LTS 安装mysql8.0.36保姆级教程(从安装到远程连接)
  • Elixir 协议与行为
  • 深度揭秘端口映射:原理、场景、路由映射故障,与内网IP端口映射外网工具的选择
  • LOVON——面向足式Open-Vocabulary的物体导航:LLM做任务分解、YOLO11做目标检测,最后L2MM将指令和视觉映射为动作(且解决动态模糊)
  • Go语言的gRPC教程-拦截器
  • IO流File类的基本使用
  • 【2】专业自定义图表创建及应用方法
  • JS核心语法与实战技巧
  • 力扣:2477. 到达首都的最少油耗
  • OCR、文档解析工具合集