第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