求 1+2+...+n ,要求不能使用乘除法、for、while、if、else、switch、case等關鍵字及條件判斷語句(a?b:c)。
示例 1:
輸入: n = 3
輸出: 6
示例 2:
輸入: n = 9
輸出: 45
限制:
思路解析: 對於a&&b,若a為真b才會執行,a為假則b連執行的機會都沒有,所以a部分可以作為遞迴的終止條件判斷,而b部分可以作為遞迴的計算邏輯部分;
詳見**;
演算法複雜度:
package leetcode;
/** * @author zhoujie
* @date 2023年5月15日 下午10:59:33
* @description: 面試題64. 求1+2+…+n
* */
public class leetcode_offer_64
class solution_offer_64
}
LeetCode面試題64 求1 2 n
在拿到題目後,我首先想到的就是遞迴,但問題出在如何處理遞迴過程中的中斷條件,在無法使用if else 的情況下,採用邏輯表示式 運算子 來做。運算子 運算子左邊的結果和右邊的結果同時為真時,結果真 運算子左邊的結果和右邊的結果同時為假時,結果為假 運算子左邊的結果和右邊的結果有乙個為假時,結果為假 ...
面試題64 求1 2 n
求1 2 n,要求不能使用乘除法 for while if else switch case等關鍵字及條件判斷語句 a?b c 利用 和 的短路規則,形成if的效果,再用遞迴形成迴圈的效果,實現求和。觀察求和公式 package com.wsy public class main public st...
面試題64 求1 2 n
面試題64 求1 2 3 n,要求不能使用乘除法 for while if else switch case等關鍵字及條件判斷語句 a?b c a b a 為 true,則返回表示式 b 的 bool 值 a 為 false,則返回 false class solution a 這個是宣告。a 這個...