面试题 16.11
You are building a diving board by placing a bunch of planks of wood end-to-end. There are two types of planks, one of length shorter and one of length longer. You must use exactly K planks of wood. Write a method to generate all possible lengths for the diving board.
return all lengths in non-decreasing order.
Example:
Input: shorter = 1 longer = 2 k = 3 Output: {3,4,5,6} Note:
0 < shorter <= longer 0 <= k <= 100000
Solutions
hashset O(k)
math O(k)
The key point is: length of all possible combinations of
(shorter * i + longer * (k - i))
are different than each other. Thus the hashset can be omitted.This is true only when
shorter != longer
, otherwise their is only one answer.Proof:
Last updated
Was this helpful?