news 2026/2/4 4:19:36

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/1/29 21:35:34

计算机Java毕设实战-基于springboo的小区车辆管理系统管理车位、预约、公告与论坛,小区停车全流程数字化小区车辆管理的智能化【完整源码+LW+部署说明+演示视频,全bao一条龙等】

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

作者头像 李华
网站建设 2026/1/29 21:04:12

JBoltAI:Java人工智能开发框架的实用指南

在 Java 企业寻求 AI 转型的过程中&#xff0c;JBoltAI 作为一款企业级 AI 应用开发框架&#xff0c;从场景开发、学习支持到解决方案落地&#xff0c;为开发者提供了多维度的支持。下面结合其核心模块&#xff0c;聊聊它在实际开发中的应用方向。一、场景开发范例&#xff1a;…

作者头像 李华
网站建设 2026/2/3 12:08:17

Java毕设选题推荐:基于springboot的智慧旅游系统目的地资源信息查询 - 行程规划 - 体验互动【附源码、mysql、文档、调试+代码讲解+全bao等】

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

作者头像 李华
网站建设 2026/2/3 18:29:51

大模型领域高级岗位招聘要求全解析,程序员从入门到精通指南

本文汇总了多个大模型相关高级技术与管理岗位的招聘要求&#xff0c;包括产业互联网CTO/COO、首席AI架构师、法律AI技术总监等。这些岗位普遍要求应聘者具备大模型训练、推理、优化和部署的专业知识&#xff0c;以及团队管理和业务协同能力。文章详细列出各岗位职责、任职资格和…

作者头像 李华