news 2026/10/15 8:30:00

DeepSeek LeetCode 371. 两整数之和 Java实现

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
DeepSeek LeetCode 371. 两整数之和 Java实现

LeetCode 371. 两整数之和

题意

不使用运算符 + 和 -,计算两个整数 a、b 之和。


思路:位运算模拟加法

加法的两个部分:

  1. 无进位相加:a ^ b(异或,相同为 0,不同为 1)
  2. 进位:(a & b) << 1(与运算后左移一位)

不断将「无进位和」与「进位」相加,直到进位为 0。

Java 的 int 是 32 位补码,溢出会自动截断,因此负数同样适用。


Java 实现

classSolution{publicintgetSum(inta,intb){while(b!=0){intcarry=(a&b)<<1;// 计算进位a=a^b;// 无进位相加b=carry;// 把进位加到下一轮}returna;}}

示例

以 a = 1, b = 2 为例:

轮次 a b carry
初始 1 2 -
1 1 ^ 2 = 3 (1 & 2) << 1 = 0 0

b == 0,返回 3。

以 a = -1, b = 1 为例,循环若干轮后进位也会变为 0,最终返回 0。


复杂度

维度 复杂度
时间 O(1)(最多循环 32 次)
空间 O(1)


递归写法(可选)

classSolution{publicintgetSum(inta,intb){if(b==0)returna;returngetSum(a^b,(a&b)<<1);}}

注意点

· << 1 后可能溢出,但 Java 的 int 会自动丢弃高位,正好符合补码加法。
· 循环条件用 b != 0,不要写成 b > 0,否则负数进位会出错。

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

diagram-design 实战:用图表即代码构建可维护的图表系统

1. 从一张草图到一套系统&#xff1a;diagram-design 到底在解决什么问题第一次听到 “diagram-design” 这个词&#xff0c;很多人会以为它只是“画图工具”的另一个说法。但真正在项目里被图表折磨过的人知道&#xff0c;问题从来不是“画不出来”&#xff0c;而是“画得出来…

作者头像 李华
网站建设 2026/10/15 8:29:33

STM32智能猫眼设计:低功耗本地人脸识别与安全上报

简介&#xff1a;本资源是一份面向嵌入式开发初学者与物联网项目实践者的STM32智能硬件设计文档&#xff0c;聚焦家庭安防场景&#xff0c;系统性解决传统猫眼视角窄、易被撬、无识别与远程交互等核心痛点。文档完整阐述了以STM32F103为控制核心、ESP8266为Wi-Fi通信模块、OV76…

作者头像 李华
网站建设 2026/10/15 8:28:19

六边形网格BFS算法在路径规划中的应用

1. 题目背景与核心需求解析这道题目来自信息学奥林匹克竞赛&#xff08;OI&#xff09;题库&#xff0c;编号P3739&#xff0c;属于HAOI2014省选题目。题目描述了一个探险者在金字塔内部寻找出口的路径规划问题。金字塔被建模为一个特殊的六边形网格系统&#xff0c;探险者需要…

作者头像 李华
网站建设 2026/10/15 8:28:18

Android毕设2048:纯Java+Canvas实现可答辩的最小可行App

简介&#xff1a;本资源是一份完整的计算机类本科毕业论文&#xff0c;面向软件工程、移动应用开发等方向的高年级本科生及初学者&#xff0c;聚焦Android平台下2048益智小游戏的设计与实现全过程。论文结构规范、内容翔实&#xff0c;涵盖摘要、Android开发技术综述、需求与可…

作者头像 李华
网站建设 2026/10/15 8:28:15

无懈可击:技术交付从需求到落地的执行标准

从“impeccable”这个词讲起。很多人把它翻译成“完美的”或者“无可挑剔的”&#xff0c;但你真拿它当工作标准的时候会发现&#xff0c;它不是一个形容词&#xff0c;而是一套完整的、可执行的交付逻辑。我做技术交付和项目落地有些年头了&#xff0c;踩过的坑比写过的代码还…

作者头像 李华