Problem#
題目給你兩個數字 n 和 k 問你: 由 n 個字母組成,所有字母加起來總和為 k 且字串字典序最小。
a=1, b=2, …, z=26
想法#
最優的答案是後面都是 z 前面都是 a,先貪心找最後的 z 長度: 對於字串 Z = aa...z = 1*(a長度) + 26 假如 k 大於 Z 的話,則最後一定可以擺一個 z,亦即 k >= 1*(n-1) + 26。
接下來就都擺 a ,中間的字母(夾在 a 和 z 中間 e.g. “aa…x…zz”),就擺 'a'+(k-1)
- 時間複雜度: $\mathcal{O}(n)$
- 空間複雜度: $\mathcal{O}(n)$