Class Solution
- java.lang.Object
-
- g1601_1700.s1643_kth_smallest_instructions.Solution
-
public class Solution extends Object
1643 - Kth Smallest Instructions.Hard
Bob is standing at cell
(0, 0)
, and he wants to reachdestination
:(row, column)
. He can only travel right and down. You are going to help Bob by providing instructions for him to reachdestination
.The instructions are represented as a string, where each character is either:
'H'
, meaning move horizontally (go right ), or'V'
, meaning move vertically (go down ).
Multiple instructions will lead Bob to
destination
. For example, ifdestination
is(2, 3)
, both"HHHVV"
and"HVHVH"
are valid instructions.However, Bob is very picky. Bob has a lucky number
k
, and he wants thekth
lexicographically smallest instructions that will lead him todestination
.k
is 1-indexed.Given an integer array
destination
and an integerk
, return thekth
lexicographically smallest instructions that will take Bob todestination
.Example 1:
Input: destination = [2,3], k = 1
Output: “HHHVV”
Explanation: All the instructions that reach (2, 3) in lexicographic order are as follows: [“HHHVV”, “HHVHV”, “HHVVH”, “HVHHV”, “HVHVH”, “HVVHH”, “VHHHV”, “VHHVH”, “VHVHH”, “VVHHH”].
Example 2:
Input: destination = [2,3], k = 2
Output: “HHVHV”
Example 3:
Input: destination = [2,3], k = 3
Output: “HHVVH”
Constraints:
destination.length == 2
1 <= row, column <= 15
1 <= k <= nCr(row + column, row)
, wherenCr(a, b)
denotesa
chooseb
.
-
-
Constructor Summary
Constructors Constructor Description Solution()
-
-
-
Method Detail
-
kthSmallestPath
public String kthSmallestPath(int[] destination, int k)
-
-