第2章 面试需要的基础知识
第3章 高质量的代码
第4章 解决面试题的思路
第5章 优化时间和空间效率
第6章 面试中的各项能力
面试题64 : 求1+2+3+…+n
第7章 两个面试案例
题目描述
牛客网
求1+2+3+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。
解题思路
参考博客
要么用循环,要么用递归。循环需要隐式的使用for,while,递归需要隐式的使用if判断语句。
可以借助与运算与短路求值原理,来限制递归结束条件。
实战
class Solution:
def Sum_Solution(self, n):
# write code here
result = n
temp = n > 0 and self.Sum_Solution(n-1)
return result + temp