LeetCode 面試題64 求1 2 n

2022-07-14 17:12:11 字數 634 閱讀 6133

求 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 這個...