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

全部评论

相关推荐

投递美团等公司10个岗位
点赞 评论 收藏
转发
1 收藏 评论
分享
牛客网
牛客企业服务