求1+2+3+...+n【Java版】
求1+2+3+...+n
http://www.nowcoder.com/practice/7a0da8fc483247ff8800059e12d7caf1
方法一:Math.pow()
public class Solution { public int Sum_Solution(int n) { return (int)(Math.pow(n,2)+n)>>1; } }//时间O(1) 空间O(1)
方法二:短路递归
public class Solution {// 1.需要重复结构->使用递归 2.需要判断->使用&&特性 int sum = 0; public int Sum_Solution(int n) { boolean bool = ((n>=1) && (sum += (n + Sum_Solution(n-1)))>0); return sum; } }//时间O(N) 系统栈空间O(N)
《剑指Offer-Java题解》 文章被收录于专栏
《剑指Offer-Java题解》