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

山东电力建设第一工程公司网站长沙网站seo分析

山东电力建设第一工程公司网站,长沙网站seo分析,黑龙江电商网站建设,wordpress目录页去掉摘要 剑指 Offer 65. 不用加减乘除做加法 一、位运算 有符号整数通常用补码来表示和存储,补码具有如下特征: 正整数的补码与原码相同;负整数的补码为其原码除符号位外的所有位取反后加 11。可以将减法运算转化为补码的加法运算来实现。符…

摘要

剑指 Offer 65. 不用加减乘除做加法

一、位运算

有符号整数通常用补码来表示和存储,补码具有如下特征:

  • 正整数的补码与原码相同;负整数的补码为其原码除符号位外的所有位取反后加 11。
  • 可以将减法运算转化为补码的加法运算来实现。
  • 符号位与数值位可以一起参与运算。

思路和算法:虽然题目只要求了不能使用运算符+、-、*和/,但是原则上来说也不宜使用类似的运算符+=、-=、*=和/=,以及sum等方法。于是,我们使用位运算来处理这个问题。首先,考虑两个二进制位相加的四种情况如下:

0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 0 (进位)

可以发现,对于整数a和b:

  • 在不考虑进位的情况下,其无进位加法结果为 a⊕b。
  • 而所有需要进位的位为a&b,进位后的进位结果为 (a & b) << 1。

于是,我们可以将整数a和 b的和,拆分为a和b的无进位加法结果与进位结果的和。因为每一次拆分都可以让需要进位的最低位至少左移一位,又因为a和 b可以取到负数,所以我们最多需要 log⁡(max_int)次拆分即可完成运算。因为有符号整数用补码来表示,所以以上算法也可以推广到0 和负数。

class Solution {public int add(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.shuangfujiaoyu.com/news/40655.html

相关文章:

  • wordpress 内存限制seo职业技能培训班
  • 做爰电影网站汕头网站设计公司
  • 做综合类网站好不好合肥seo
  • 空白网站怎么做电商网站首页
  • dreamweaver做网站教学网站如何宣传推广
  • 让别人做网站如何防止后门营销方案范文100例
  • 扬州网络科技有限公司网站建设软文范文
  • 响应式网站自助建设平台优化百度搜索
  • 做百度ssp的网站开发人网盘资源免费观看
  • 公司三站合一的网站域名解析ip地址
  • 免费视频素材下载的网站网络营销推广服务
  • 网站制作怎么自己做关键词诊断优化全部关键词
  • 建设仿优酷视频网站百度如何优化排名靠前
  • wordpress版权加密seo优化技术排名
  • 腾讯云网站建设教程视频厦门seo培训
  • 百度上可以做中英文网站吗班级优化大师app下载学生版
  • 公司做网站最低需用多少钱seo顾问服务 品达优化
  • 网站交互功能免费培训机构
  • 网上商城网站建设体会营销自动化工具
  • 响应式网站如何做的广告推广接单平台
  • wordpress 不显示作者seo的收费标准
  • 做网站多钱东莞seo建站公司
  • 小程序模板做视频网站游戏挂机赚钱一小时20
  • 泰安做网站哪里好近期国内新闻摘抄
  • 医药公司网站建设方案网站提交
  • 赤峰网站建设企业软文推广新闻发布
  • 做网站后台数据库建设微信推广软件有哪些
  • 一个成功的网站要具备哪些做seo排名好的公司
  • 找人做网站需求怎么写百度博客收录提交入口
  • 优化网站建设网站制作费用一览表