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

【LeetCode 算法】Add Two Integers 两整数相加-位运算

文章目录

  • Add Two Integers 两整数相加
    • 问题描述:
    • 分析
    • 代码
      • 递归
    • Tag

Add Two Integers 两整数相加

问题描述:

给你两个整数 num1num2,返回这两个整数的和。

− 100 < = n u m 1 , n u m 2 < = 100 -100 <= num1, num2 <= 100 100<=num1,num2<=100

分析

呃,解决这个问题一行代码就可以。而且时间复杂度空间复杂度都是 O ( 1 ) O(1) O(1)

而这个问题的升级版,就是不用算术运算符完成2数相加,这个就有点意思了。

如果不使用算术运算符,就需要借助二进制,来模拟进行二进制数的加法。
在二进制的情况下,加法主要使用位运算符来处理。

具体的看代码实现,涉及到 移位异或运算。

代码

递归

 public int sum(int num1, int num2) {if (num1 == 0) {return num2;}int carry = (num1 & num2) << 1;int remain = num1 ^ num2;return sum(carry, remain);} 

时间复杂度 O ( l o g C ) O(logC) O(logC)

空间复杂度 O ( l o g C ) O(logC) O(logC)

Tag

Math

http://www.lryc.cn/news/136247.html

相关文章:

  • 企业网络日志安全与 EventLog Analyzer
  • 清风数学建模——拟合算法
  • 单片机 (一) 让LED灯 亮
  • c++——单例模式
  • C# 流Stream详解(2)——FileStream、BinaryReader、MemorySream、SreamReader等之间的关系
  • 【JavaSE】详解final关键字
  • 问道管理:机器人概念走势活跃,新时达涨停,拓斯达、丰立智能等大涨
  • elementui 修改日期选择器el-date-picker样式
  • 自己实现 SpringMVC 底层机制 系列之-实现任务阶段 6-完成控制器方法获取参数-@RequestParam
  • 数据可视化:图表绘制详解
  • 【中危】Apache Ivy<2.5.2 存在XXE漏洞 (CVE-2022-46751)
  • C#使用自定义的比较器对版本号(编码)字符串进行排序
  • AI在日常生活中的应用:从语音助手到自动驾驶
  • Windows10查看图片的分辨率
  • Spring事务和事务传播机制(2)
  • 计算机视觉 -- 图像分割
  • ubuntu18.04复现yolo v8之CUDA与pytorch版本问题以及多CUDA版本安装及切换
  • Redis三种模式——主从复制,哨兵模式,集群
  • mysql8.0.31新增只读远程普通用户
  • 揭开路由协议隐藏的风险
  • 图片因固定宽高被拉伸了?object-fit:一个神奇的属性
  • 客户案例:中圣科技—CAC2.0防范盗号威胁,加固安全防线
  • pandas数据分析40——读取 excel 合并单元格的表头
  • Java后端开发面试题——微服务篇总结
  • 第十一章MyBatis查询专题
  • 测试驱动开发(TDD)
  • 深度学习|CNN卷积神经网络
  • 【洁洁送书第五期】为什么我们要了解可观测性工程
  • 将vue项目通过electron打包成windows可执行程序
  • 【0基础入门Python Web笔记】三、python 之函数以及常用内置函数