求 1+2+...+n
,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。
方法一:暴力法
该方法使用了for循环,违反了题目的要求。
1 | class Solution { |
复杂度分析:时间复杂度为O(n),空间复杂度为O(1)。
方法二:等差数列求和
该方法使用了乘除法,违反了题目的要求。
1 | class Solution { |
复杂度分析:时间复杂度和空间复杂度均为O(1)。
方法三:递归
该方法使用了if条件判断,违反了题目的要求。
1 | class Solution { |
复杂度分析:时间复杂度和空间复杂度均为O(n)。
方法四:递归(无if)
1 | class Solution { |
复杂度分析:时间复杂度和空间复杂度均为O(n)。