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

zimeiti wordpress广州seo外包公司

zimeiti wordpress,广州seo外包公司,城口网站建设,wordpress 优化版两整数之和(medium) 题⽬描述:解法(位运算):代码复杂度分析 题⽬链接: 371. 两整数之和 题⽬描述: 给你两个整数 a 和 b ,不使⽤ 运算符 和 - ,计算并返回两…

两整数之和(medium)

  • 题⽬描述:
  • 解法(位运算):
  • 代码
  • 复杂度分析

题⽬链接: 371. 两整数之和

题⽬描述:

给你两个整数 a 和 b ,不使⽤ 运算符 + 和 - ,计算并返回两整数之和。
⽰例 1:
输⼊:a = 1, b = 2
输出:3
⽰例 2:
输⼊:a = 2, b = 3
输出:5
提⽰:
-1000 <= a, b <= 1000

解法(位运算):

算法思路:
◦ 异或 ^ 运算本质是「⽆进位加法」;
◦ 按位与 & 操作能够得到「进位」;
◦ 然后⼀直循环进⾏,直到「进位」变成 0 为⽌
可以发现,对于整数 a 和 b:
在不考虑进位的情况下,其无进位加法结果为 a⊕b。
而所有需要进位的位为 a & b,进位后的进位结果为 (a & b) << 1。
于是,我们可以将整数 a 和 b 的和,拆分为 a 和 b 的无进位加法结果与进位结果的和。因为每一次拆分都可以让需要进位的最低位至少左移一位,又因为 a 和 b 可以取到负数,所以我们最多需要 log(max_int) 次拆分即可完成运算。
因为有符号整数用补码来表示,所以以上算法也可以推广到 0 和负数。

代码

class Solution {public int getSum(int a, int b) {while (b != 0) {int carry = (a & b) << 1;// 计算进位a = a ^ b;// 先算出⽆进位相加的结果b = carry;}return a;}
}

复杂度分析

时间复杂度:O(log(max_int)),其中我们将执行位运算视作原子操作。
空间复杂度:O(1)。

http://www.dtcms.com/wzjs/130381.html

相关文章:

  • 用Java做知乎网站广东知名seo推广多少钱
  • 衡水学校网站建设网络营销理论基础
  • 金融直播室网站建设关键词站长工具
  • 东营市建设山东seo百度推广
  • 深圳 旅游 网站建设青岛百度整站优化服务
  • 找网络公司做的网站到期后 备案的域名属于备案企业还是网络公司搜索引擎数据库
  • 微信公众号人工咨询电话长沙网站seo推广公司
  • 聊城那里做网站苏州关键词排名提升
  • 自己的服务器 做网站外贸网站推广的方法
  • 公司网站备案怎么弄网络广告营销
  • 网站策划论文四川自助seo建站
  • 光明随心订网站怎么做seo运营是什么
  • 在线A视频做爰网站营销怎么做
  • 威海市住房和城乡建设委员会网站怎么优化一个网站
  • 上海青浦做网站seo值是什么意思
  • 口碑好的秦皇岛网站建设价格东莞谷歌推广公司
  • 经营网站备案信息网站策划方案案例
  • 做淘宝链接网站沈阳网站关键词优化多少钱
  • 自己怎样给网站做推广吸引人的软文
  • 您的网站空间已过期成都公司网站seo
  • 网站滚动图片怎么做软文推广文案
  • 施工企业筹备建立北京优化推广
  • 东莞网站建设 烤活鱼中央常委成员名单
  • wordpress capability东莞seo外包
  • 胶南市场建设服务中心网站北京百度seo排名公司
  • 电子商务做网站骗钱怎么办淮南网站seo
  • 长春个人做网站2022年新闻摘抄简短
  • 做网站的内容外贸企业网站推广
  • 宝山做网站公司求网址
  • 苏州网站建设推荐好先生科技品牌宣传的推广