news 2026/4/16 14:42:02

LCR001-两数相除

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
LCR001-两数相除

求解代码

//定义移位边界,防止左移溢出privatestaticfinalintBOUND=Integer.MIN_VALUE>>1;//被除数是最小负数,除数是-1,返回最大正数publicintdivide(inta,intb){if(a==Integer.MIN_VALUE&&b==-1){returnInteger.MAX_VALUE;}if(a==0||b==1){returna;}elseif(b==-1){return-a;}intnegative=2;// 统一转为负数计算,避免MIN_VALUE取反溢出if(a>0){negative--;a=-a;}//仅处理a、b均为负数的情况,返回正的商if(b>0){negative--;b=-b;}intans=helpDivide(a,b);returnnegative==1?-ans:ans;}privateinthelpDivide(inta,intb){// 被除数绝对值 == 除数绝对值,商为1if(a==b){return1;}intres=0;intshift=getMaxShift(a,b);while(a<=b){while(a>(b<<shift)){shift--;}a-=(b<<shift);// 减去 b×2^shiftres+=(1<<shift);// 商累加 2^shift}returnres;}// 获取除数b的最大有效移位次数privateintgetMaxShift(inta,intb){intshift=0;inttmp=b;while(tmp>a&&tmp>=BOUND){tmp<<=1;shift++;}returnshift;}

小贴士

必须以除数为起点左移(倍增),而非被除数

Integer.MIN_VALUE = -2^31取反会溢出。

两个负数相比较时,a更小表示绝对值更大。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 14:28:22

Java毕设项目推荐-springboot面向物业管理方、小区业主及访客的智能化车辆管理平台基于springboo的小区车辆管理系统【附源码+文档,调试定制服务】

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/4/16 14:25:59

第6章:字符设备驱动的高级操作1:ioctl 系统调用

In Chapter 3, we built a complete device driver that the user can write to and read from. But a real device usually offers more functionality than synchronous read and write. Now that we’re equipped with debugging tools should something go awry— and a fi…

作者头像 李华
网站建设 2026/4/16 10:43:14

【计算机毕业设计案例】基于springboot医院固定资产设备维修报修系统基于springboot的医院设备管理及报修小程序的设计与实现(程序+文档+讲解+定制)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/4/16 14:41:02

小程序毕设项目:基于springboot的医院设备管理及报修小程序的设计与实现(源码+文档,讲解、调试运行,定制等)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华