求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题解》