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

leetcode 371 两个整数之和

一、问题描述

二、解题思路

整体思路

本题需要借助位运算的方法来解决。

具体思路

两数异或运算的结果为无进位加法的结果,只需要用两数异或的结果加上进位(循环到进位为0)就可以得到两数之和。我们可以通过一个例子来模拟这个过程:

例如:a=13=01101B,b=28=11100B,a+b=41

先计算a^b,再计算进位(a&b)<<1,再更新a和b的值,直到b为0,即进位为0,此时的a即为结果,具体流程如图所示:

三、代码实现

时间复杂度:T(n)=O(1)

空间复杂度:S(n)=O(1)

class Solution {
public:int getSum(int a, int b) {while(b){//异或结果即为无进位加法结果int r=a^b;//计算进位b=(a&b)<<1;a=r;}return a;}
};

http://www.dtcms.com/a/360248.html

相关文章:

  • 智能数据建设与治理 Dataphin-数仓分层
  • 基于AI的大模型在S2B2C商城小程序中的应用与定价策略自我评估
  • “机器人管家“离我们还有多远?
  • 7.3 el-menu
  • 【C2000】C2000的硬件设计指导与几点意见
  • 官方 API 与网络爬虫的技术特性对比及选型分析
  • shell编程基础入门-2
  • Overleaf中文显示
  • 把 `QVector<QPointF>` 写入文件:三种风格、三段独立可编译的完整代码
  • APB协议​​ 构建一个完整的 ​​UVM验证VIP Agent介绍类的要素
  • 《隐性质量:决定软件生命周期的看不见的竞争力》
  • 【Linux】创建线程
  • flutter工程
  • 包的相对导入
  • Android开发简介
  • Redis常见数据类型及应用场景
  • Pytest 插件介绍和开发
  • 极客时间AI 全栈开发实战营毕业总结(2025年8月31日)
  • NCCL-TEST ib集群测试UCX代替方案
  • mit6.031软件构造 笔记 Testing
  • ROI、 binning、下采样功能区别
  • windows编译minicap.so文件
  • 由题构造 嵌入汇编(汇编)
  • NAS Docker 安装N8N
  • 计算机视觉与深度学习 | 双目立体特征提取与匹配算法综述——理论基础、OpenCV实践与MATLAB实现指南
  • 猛犸Lark max 无线麦克风录音爆音问题的解决
  • 【STC库函数】使用芯片自带的EEPROM来保存掉电不丢失的数据
  • 开发常用工具专栏
  • 赵玉平《梁山政治》读书笔记(下部)
  • wifi控制舵机