剑指Offer(JZ47)

短路求值思想

题目来源:剑指offer(题号:JZ47)
链接:https://www.nowcoder.com/practice/7a0da8fc483247ff8800059e12d7caf1?tpId=13&&tqId=11200&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking

input: 1 , 2 , 3 , 4 … n
output: 数列和
限制条件:不许使用四则运算符,和if else switch等判断语句

思路:(学习了大佬的短路求值)

短路求值思想

a && b // 当 a 为 0 时,则可判断整个逻辑表达式为假,不用再判断b是否为真
a || b // 当 a 为 1 时,则可判断整个逻辑表达式为真,不用再判断b是否为假

代码如下

 public int Sum_Solution(int n) {
        int result = n;
        boolean judge = ( n > 0) && (result += Sum_Solution(n-1))>0;
        return result;
    }

也有用纯位运算的大佬的求法,后期可学习更新。

你可能感兴趣的:(剑指Offer(JZ47))