美文网首页
面试题 17.01. 不用加号的加法

面试题 17.01. 不用加号的加法

作者: itbird01 | 来源:发表于2022-01-25 07:07 被阅读0次
题目.png

题意:设计一个函数把两个数字相加。不得使用 + 或者其他算术运算符。

解法1:
在十进制中,3+8=1+10=11(其中1为不进位的数字,10为进位后)
同理,在二进制中,按位异或得到不进位的数字,按位与得到需要进位的数字。
所以,很容易得出递归的解法(注意,当a和b相加进位数字为0时,a^b即为a+b的结果,所以a&b==0做递归出口)

解题遇到的问题

后续需要总结学习的知识点

##解法1
class Solution {
    public int add(int a, int b) {
        if((a&b)==0){
            return a^b;
        }
        else{
            return add((a&b)<<1,a^b);
        }
    }
}

相关文章

  • 面试题 17.01. 不用加号的加法

    题意:设计一个函数把两个数字相加。不得使用 + 或者其他算术运算符。 解法1:在十进制中,3+8=1+10=11(...

  • 不用加号实现加法

    题目说明 这是一道在lintcode上的简单题:http://lintcode.com/en/problem/a-...

  • Leetcode-不用加号的加法

    设计一个函数把两个数字相加。不得使用 + 或者其他算术运算符。 示例: 提示:a, b 均可能是负数或 0结果不会...

  • 算数运算符

    算数运算符 加法运算符: 加法运算符由加号(+)表示: (ECMAScript中的加法也有一些特殊行为:某个运算数...

  • Pytorch学习笔记二——Tensor操作

    算术操作 加法 加号 + torch.add() tensor.add_() # inplace方式 其他数学操...

  • 剑指offer第二版-65.不用加减乘除做加法

    本系列导航:剑指offer(第二版)java实现导航帖 面试题65:不用加减乘除做加法 题目要求:写一个函数,求两...

  • Leetcode.371.Sum of Two Integers

    题目 不用加法计算加法。 思路 不使用加法就只能使用位运算。需要考虑负数的加法,减法和加法应该一样,采用取反加1的...

  • css中神奇的负数

    outline-offset(负值)实现加号 能否用纯css实现加号,在不用伪类的情况下。 注意事项: 容器得是个...

  • 不用加法实现a+b

    这到算法题好像经常出现在面试题集锦里面,反正我是看见它好多次了。不用加法实现两个数的和,我们可以首先想到位运算,那...

  • 2015年Java方向C组第七题

    标题:加法变乘法 我们都知道:1+2+3+ ... + 49 = 1225 现在要求你把其中两个不相邻的加号变成乘...

网友评论

      本文标题:面试题 17.01. 不用加号的加法

      本文链接:https://www.haomeiwen.com/subject/rvvbhrtx.html