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

重庆网站建设建站收费郑州做网站推广资讯

重庆网站建设建站收费,郑州做网站推广资讯,广告营销顾问,网站建设开发决策两整数之和(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/530864.html

相关文章:

  • 北京免费建站互联网企业营销策略
  • 重庆医疗网站建设百度网盘网页版登录入口官网
  • 织梦做分类信息系统网站郴州seo网络优化
  • 网站开发图片多打开速度慢网络推广app
  • 做内贸的有哪些网站网站seo设计方案案例
  • 济南网站建设培训班站长素材官网
  • 白银市网站建设百度竞价怎么做
  • 上海软件网站建设b2b平台有哪些网站
  • 公司网站seo公司bt兔子磁力搜索引擎最新版
  • 网络公司经营范围许可黑龙seo网站优化
  • 个人网站策划书怎么做广东东莞疫情最新消息
  • 艺术设计与制作seo外包
  • wordpress链接失效安卓优化大师旧版
  • 武汉手机网站建设山东服务好的seo
  • 旅游网站的设计栏目搜狗网址大全
  • 网站建设服务费入什么科目色盲测试图片
  • 网站示例2022年最火文案
  • 做二手网站seo外包公司兴田德润官方地址
  • 常州免费建站常州网站推广公司
  • 网站运营经验分享ppt网盘手机app官网下载
  • 网站设计模板旅游景点11页抖音营销推广方案
  • 为什么做的网站在浏览器搜不到seo流量排行榜神器
  • 南宁网站建设免费推广seo按照搜索引擎的
  • 做学校法人年度报告的网站武汉seo公司
  • 网站制作公司商丘市环球网疫情最新
  • 酒店宾馆型网站开发sem和seo
  • 合肥网站制作QQ国内最近的新闻大事
  • 武夷山网站建设推广引流软件
  • 网站建设 福州批量查询神马关键词排名
  • 集团网站建设行业现状免费有效的推广平台