LeetCode
来源:互联网 发布:淘宝口红代购知乎 编辑:程序博客网 时间:2024/06/03 21:00
题目链接:371. Sum of Two Integers
题意:给你两个整数a
和b
,请你不使用+
和-
求出两个数的和。
题意很明确,但是不使用+
和-
进行求和,确实是让我一脸懵逼,所以我取了巧。
class Solution(object): def getSum(self, a, b): return sum([a, b])
哈哈哈,虽然没看过sum()
函数的源码,但也能猜到sum()
函数的本质还是使用+
求和的。
分割线来展示一下大神的解法,不过看不太懂,当然这是使用Python
书写的原因导致的问题,如果是使用java
、c++
等这一类语言就不会有这种困扰了。
具体内容看这里。
class Solution(object): def getSum(self, a, b): MAX_INT = 0x7FFFFFFF MIN_INT = 0x80000000 MASK = 0x100000000 while b: a, b = (a ^ b) % MASK, ((a & b) << 1) % MASK return a if a <= MAX_INT else ~((a % MIN_INT) ^ MAX_INT)
最后贴一遍,我个人觉得讲解还算清楚的博客地址,这位博主是使用java
写的代码。
纯文字介绍版。
如果有朋友不喜欢纯文字的介绍,这里再贴一个纯图流(公式推导)。
纯图流介绍版。
这里这是为了对称,所以这么写,具体内容请看博客。
以上。
阅读全文
0 0
- leetcode
- [leetcode]
- LeetCode
- leetcode
- leetcode
- leetcode:
- leetcode:
- LeetCode
- leetcode
- LEETCODE
- leetcode
- leetCode
- leetcode
- [leetcode]
- LeetCode
- leetcode
- leetcode:
- leetcode
- 数据库中触发器和索引的使用
- Java:如何用链表实现队列
- erlang shell 命令中文使用说明
- HTML(五) 使用img标签
- Air800(GPRS+GPS模块)连接OneNet平台
- LeetCode
- 150. Evaluate Reverse Polish Notation
- ElasticSearch 常用的查询过滤语句
- 产品经理如何学机器学习——一篇以产品为中心的机器学习概论
- 专访 | 在AI 医疗这个热门的赛道上,阿里在怎么玩?
- Flask-Moment本地化日期和时间显示不正常
- CentOS下通过yum安装svn及配置
- lua脚本操作redis数据库
- 这些科技公司们的名字,都是从何而来?