前往
大廳
主題

LeetCode - 1643. Kth Smallest Instructions 解題心得

Not In My Back Yard | 2023-11-08 12:00:18 | 巴幣 0 | 人氣 100

題目連結:


題目意譯:
Bob 現在位於格子 (0, 0),而他想要抵達終點:(row, column)。他一次只能往右和往下走。你需要藉由給他一些指示來導引 Bob 抵達終點。

給定的指示以一個字串表示,其中每一個字元只會是:
'H',代表著水平移動(往右走);或是
'V',代表著鉛直移動(往下走)。

有多組指示可以把 Bob 導引至終點。例如說,如果終點是 (2, 3),而 "HHHVV" 和 "HVHVH" 都是合法的指示。

不過,Bob 很挑剔。Bob 有一個幸運數字 k,而他想要在可以導引他到終點的那些指示字串中之字典序第 k 小者。k 作為索引值是從 1 開始數。

給定一個整數陣列 destination 以及一整數 k,回傳可以導引 Bob 到終點的那些指示字串中之字典序第 k 小者。

限制:
destination.length == 2
1 ≦ row, column ≦ 15
1 ≦ k ≦ nCr(row + column, row),其中 nCr(a, b) 代表著 a 個物品選 b 個出來的方法數。



範例測資:
範例 1:
輸入: destination = [2,3], k = 1
輸出: "HHHVV"
解釋: 所以可以抵達 (2, 3) 按照字典序排序後為以下:
["HHHVV", "HHVHV", "HHVVH", "HVHHV", "HVHVH", "HVVHH", "VHHHV", "VHHVH", "VHVHH", "VVHHH"]。

範例 2:
輸入: destination = [2,3], k = 2
輸出: "HHVHV"

範例 3:
輸入: destination = [2,3], k = 3
輸出: "HHVVH"


解題思維:
基本上跟這題很像。只是現在只有 'H' 和 'V' 兩種字元可以選,且注意到一個指示字串中 'V' 的數量恰好為 destination[0]、'H' 的數量恰好為 destination[1]。




此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。

創作回應

相關創作

更多創作