不用加减乘除做加法(简单难度)

简介: 不用加减乘除做加法(简单难度)

目录

题目概述(简单难度)

思路与代码

思路展现

代码示例

题目概述(简单难度)

2.png


题目链接:

点我进入leetcode


思路与代码

思路展现

这道题目的思路我们依然选择来看题解就好,我精心挑选了如下题解,大家可以直接观看即可:

这个题解是我认为讲的最好的题解

这个题解也不错

下面我们再来科普下二进制的加法

点我进入博客

注意一个问题就是二进制加法中是满2进1,然后满2的那一位减掉的数字是2,并不是1.


关于移位运算符大家可以看我的这篇博客:

点我进入博客

也可以看这篇题解的介绍:

点我进入题解


代码示例

class Solution {
    public int add(int a, int b) {
       while(b != 0) {
         int temp = a ^ b;
         int cur = (a & b) << 1;
         a = temp;
         b = cur;
       }
       return a;
    }
}

2.png

相关文章
|
算法 搜索推荐 程序员
C语言第八练——计算X的算术平方根
C语言第八练——计算X的算术平方根
98 0
|
1月前
实现加减乘除计算
【10月更文挑战第26天】实现加减乘除计算。
63 7
|
5月前
|
Python
首先,我们可以从基本的数学运算开始,比如加法、减法、乘法、除法等。
首先,我们可以从基本的数学运算开始,比如加法、减法、乘法、除法等。
|
7月前
加减乘除简单吗?不,一点都不,利用位运算实现加减乘除(代码中不含+ - * /)
加减乘除简单吗?不,一点都不,利用位运算实现加减乘除(代码中不含+ - * /)
|
Python
制作实现加减乘除运算的简单计算器
制作实现加减乘除运算的简单计算器
124 0
剑指offer 73. 不用加减乘除做加法
剑指offer 73. 不用加减乘除做加法
63 0
|
Java
不用加减乘除做加法
不用加减乘除做加法
100 0
不用加减乘除做加法
|
存储 算法
高精度加法,模拟大数的加法运算
在处理特别大的数相加特别大的数的时候,long long不能直接通过加法算出结果的时候,可以通过高精度算法处理这些数的相加具体·思路如下; 首先 1 . 这些数存到数组的时候该如何排列,是个位放在第一位还是最后一位放到第一位,由于数的相加的候常常出现进位,常在最后一位加上一个数,而加上数的话往往在数组最后一位加上数比较方便,所以我们把第个位放在数组第一位 2.其次在调用模拟大数相加的函数中,我们该如何处理同一位上数相加出现的进位呢,我们可以设置一个 t 存储数组上某位相加最后吧 t%10 ,就可以得到想要的数,同时在 t / 10 如果 t 会的得到 1 或者 0.
140 0
|
算法
【刷算法】不用加减乘除怎么做加法?
【刷算法】不用加减乘除怎么做加法?