【算法】leetcode 面试题64. 求1+2+…+n(递归+逻辑短路)

问题来源

面试题64.1+2++n
求 1+2+...+n ,要求不能使用乘除法、forwhileifelse、switch、case等关键字及条件判断语句(A?B:C)。

示例 1:
	输入: n = 3
	输出: 6
	示例 2:

输入: n = 9
输出: 45
 
限制:
	1 <= n <= 10000

大佬解析


代码

"""
需求:
    求 1+2+...+n ,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)
    
思想:
    递归计算前n项和,逻辑短路做条件判断

"""


class Solution:
    def sumNums(self, n: int) -> int:
        """递归计算前n项和,逻辑短路做条件判断"""
        return n and (n + self.sumNums(n - 1))
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章