题解 | #不用加减乘除做加法#

不用加减乘除做加法

https://www.nowcoder.com/practice/59ac416b4b944300b617d4f7f111b215

接上题解,补充递归写法

class Solution:
    def Add(self, num1: int, num2: int) -> int:
        # 本题最大正值2000 =0x7D0。
        # 取12位足够了,来截断更高位。
        board = 0xFFF
        num1, num2 = num1 & board, num2 & board

        if num2 == 0:
            return num1 if num1 <= 0x7D0 else ~(num1 ^ board)
            
        return self.Add((num1 ^ num2), (num1 & num2) << 1)


全部评论

相关推荐

哞客37422655...:你猜为什么福利这么好还得一直追着你问
点赞 评论 收藏
分享
三本咋了:觉得真的挺优秀的 实习title够了 ,字节实习跟agent不是很垂直 换个agent项目 差个机会,祈好运 ,有个教学类型的hello_agents 在github上面 感觉不太够用 (当然我还在学) ,你现在有好的项目了么,推荐一下呗
听劝,我这个简历该怎么改...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务