劍指offer第二版(Python3)--面試題64 : 求1+2+3+...+n

第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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章