求 1 + 2 + 3 + ... + n,要求不能使用乘除法、for、while、if、else、switch、case 等關鍵字及條件判斷陳述句 A ? B : C
解題思路
需要利用邏輯與的短路特性來實作遞回的終止,當 n == 0 時,(n > 0) && ((sum += Sum_Solution(n - 1)) > 0) 只執行前面的判斷,為 false,然后直接回傳 0;當 n > 0 時,執行 sum += Sum_Solution(n - 1),實作遞回計算 Sum_Solution(n)
public class Solution {
public int Sum_Solution(int n) {
int sum = n;
boolean flag = (n > 0) && (sum += Sum_Solution(n - 1)) > 0;
return sum;
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/189508.html
標籤:其他
上一篇:DockerFile
下一篇:API即服務
