Problem Statement |
| | Given a String s, we will first collect all distinct positive length subsequences of s, and place them in a list L. A subsequence of s is obtained by deleting 0 or more characters. Next, sort L into ascending order by length. Where ties occur, break them lexicographically. Here uppercase letters occur before lowercase letters. Finally, return the String in position pos % k (0-based), where k is the number of elements in L, and % is the modulus operator. |
| |
Definition |
| | | Class: | GetSubsequence | | Method: | getAt | | Parameters: | String, String | | Returns: | String | | Method signature: | String getAt(String s, String pos) | | (be sure your method is public) |
|
| |
|
| |
Constraints |
| - | s will contain between 2 and 50 characters inclusive. |
| - | Each character in s will be a letter ('A'-'Z','a'-'z'). |
| - | pos will be an integral value between 0 and 2^63 - 1 inclusive. |
| - | pos will not have extra leading zeros. |
| |
Examples |
| 0) | |
| | | Returns: "ABCD" | | "ABCD" is the last of the 15 subsequences in L. |
|
|
| 1) | |
| | | Returns: "ABD" | | 19203410239121 % 15 = 11. |
|
|
| 2) | |
| | |
| 3) | |
| | "AbcdAbcdAbcd" | "39283423984923" |
| Returns: "AbAbdbd" | |
|