你正在使用一堆木板建造跳水板。有兩種型別的木板,其中長度較短的木板長度為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 輸出 思路一 自己寫的笨方法...