LeetCode 面試題 16 11 跳水板

2021-10-23 04:41:14 字數 1012 閱讀 7096

你正在使用一堆木板建造跳水板。有兩種型別的木板,其中長度較短的木板長度為shorter,長度較長的木板長度為longer。你必須正好使用k塊木板。編寫乙個方法,生成跳水板所有可能的長度。

返回的長度需要從小到大排列。

示例:輸入:

shorter = 1

longer = 2

k = 3

輸出:

0 < shorter <= longer

0 <= k <= 100000

1.暴力搜尋

2.對於數量k而言,面對只有兩個物體,我們只需要列舉盡可能多的 短的數量,然後逐個減少短的數量即可,這個過程方便理解且不需要排序。

class

solution;if

(shorter == longer)

return

;//長短相等,則直接給出答案

vector<

int>

a(k+1)

;for

(int i=

0;i<=k;i++

)a[i]

=shorter*

(k-i)

+longer*i;

return a;}}

;

遞迴

更新時間4-8:12:41

更新時間4-8:12:11

更新時間4-8:10:18

時間 5.75% 記憶體 100%

注:1.思考之後,發現由於引數限制和返回值限制無法做到知用乙個函式遞迴寫完。

2.思路從爆搜轉向遞推公式

思路:1.公式列舉可能直接放入set去重

3.放入vec陣列

4.vec排序

class

solution

vector<

int>

divingboard

(int shorter,

int longer,

int k)

};

leetcode 面試題 16 11 跳水板

面試題 16.11.跳水板 你正在使用一堆木板建造跳水板。有兩種型別的木板,其中長度較短的木板長度為shorter,長度較長的木板長度為longer。你必須正好使用k塊木板。編寫乙個方法,生成跳水板所有可能的長度。返回的長度需要從小到大排列。示例 輸入 shorter 1 longer 2 k 3輸...

leetcode 面試題 16 11 跳水板

題目 你正在使用一堆木板建造跳水板。有兩種型別的木板,其中長度較短的木板長度為shorter,長度較長的木板長度為longer。你必須正好使用k塊木板。編寫乙個方法,生成跳水板所有可能的長度。返回的長度需要從小到大排列。示例 輸入 shorter 1 longer 2 k 3 輸出 解題思路 先初始...

leetcode 面試題16 11 跳水板

你正在使用一堆木板建造跳水板。有兩種型別的木板,其中長度較短的木板長度為shorter,長度較長的木板長度為longer。你必須正好使用k塊木板。編寫乙個方法,生成跳水板所有可能的長度。返回的長度需要從小到大排列。示例 輸入 shorter 1 longer 2 k 3 輸出 思路一 自己寫的笨方法...