Statistics

Problem Statement for "LadderPermutation"

Problem Statement

You have n distinct integers between 1 and n, inclusive. A permutation of these integers is called an (m,k)-ladder permutation if its longest increasing subsequence has length m and its longest decreasing subsequence has length k. A subsequence is a sequence created by removing zero or more elements from an original sequence. The relative order of the remaining elements must be preserved. For example, {1, 3} is a subsequence of {1, 2, 3}, but {3, 2} is not. An increasing sequence is one in which each element is greater than the previous element, and a decreasing sequence is one in which each element is less than the previous element.

You are given ints n, m and k. Return a int[] containing the (m,k)-ladder permutation of size n. If there are multiple possibilities, return the one that comes first lexicographically. If there is no such permutation, return an empty int[]. Sequence A comes before sequence B lexicographically if A contains a lower value at the first position where they differ.

Definition

Class:
LadderPermutation
Method:
createLadder
Parameters:
int, int, int
Returns:
int[]
Method signature:
int[] createLadder(int n, int m, int k)
(be sure your method is public)

Constraints

  • n will be between 1 and 50, inclusive.
  • m will be between 1 and n, inclusive.
  • k will be between 1 and n, inclusive.

Examples

  1. 4

    2

    2

    Returns: {2, 1, 4, 3 }

    In this case, all longest increasing subsequences have length 2 (for example, {1, 3}), and all longest decreasing subsequences have length 2 (for example, {2, 1}).

  2. 3

    2

    2

    Returns: {1, 3, 2 }

  3. 2

    1

    1

    Returns: { }

    In this case, the two numbers will always form an increasing or decreasing sequence of length 2. There is no permutation where the longest increasing/decreasing subsequence only has length 1.

  4. 6

    3

    2

    Returns: {2, 1, 4, 3, 6, 5 }

  5. 6

    2

    3

    Returns: {3, 2, 1, 6, 5, 4 }

  6. 7

    4

    4

    Returns: {1, 2, 3, 7, 6, 5, 4 }

  7. 6

    4

    2

    Returns: {1, 2, 4, 3, 6, 5 }

  8. 6

    4

    3

    Returns: {1, 2, 3, 6, 5, 4 }

  9. 6

    3

    3

    Returns: {1, 3, 2, 6, 5, 4 }

  10. 6

    4

    3

    Returns: {1, 2, 3, 6, 5, 4 }

  11. 6

    4

    4

    Returns: { }

  12. 7

    3

    3

    Returns: {1, 4, 3, 2, 7, 6, 5 }

  13. 9

    3

    3

    Returns: {3, 2, 1, 6, 5, 4, 9, 8, 7 }

  14. 9

    4

    2

    Returns: { }

  15. 9

    4

    3

    Returns: {1, 3, 2, 6, 5, 4, 9, 8, 7 }

  16. 9

    4

    4

    Returns: {1, 2, 5, 4, 3, 9, 8, 7, 6 }

  17. 9

    5

    5

    Returns: {1, 2, 3, 4, 9, 8, 7, 6, 5 }

  18. 9

    4

    5

    Returns: {1, 2, 4, 3, 9, 8, 7, 6, 5 }

  19. 9

    5

    4

    Returns: {1, 2, 3, 5, 4, 9, 8, 7, 6 }

  20. 9

    5

    5

    Returns: {1, 2, 3, 4, 9, 8, 7, 6, 5 }

  21. 9

    5

    6

    Returns: { }

  22. 9

    6

    5

    Returns: { }

  23. 6

    1

    5

    Returns: { }

  24. 6

    1

    6

    Returns: {6, 5, 4, 3, 2, 1 }

  25. 6

    2

    5

    Returns: {1, 6, 5, 4, 3, 2 }

  26. 6

    6

    1

    Returns: {1, 2, 3, 4, 5, 6 }

  27. 6

    5

    1

    Returns: { }

  28. 6

    5

    2

    Returns: {1, 2, 3, 4, 6, 5 }

  29. 1

    1

    1

    Returns: {1 }

  30. 2

    2

    2

    Returns: { }

  31. 50

    8

    8

    Returns: {1, 2, 10, 9, 8, 7, 6, 5, 4, 3, 18, 17, 16, 15, 14, 13, 12, 11, 26, 25, 24, 23, 22, 21, 20, 19, 34, 33, 32, 31, 30, 29, 28, 27, 42, 41, 40, 39, 38, 37, 36, 35, 50, 49, 48, 47, 46, 45, 44, 43 }

  32. 50

    8

    7

    Returns: {1, 8, 7, 6, 5, 4, 3, 2, 15, 14, 13, 12, 11, 10, 9, 22, 21, 20, 19, 18, 17, 16, 29, 28, 27, 26, 25, 24, 23, 36, 35, 34, 33, 32, 31, 30, 43, 42, 41, 40, 39, 38, 37, 50, 49, 48, 47, 46, 45, 44 }

  33. 50

    7

    8

    Returns: {2, 1, 10, 9, 8, 7, 6, 5, 4, 3, 18, 17, 16, 15, 14, 13, 12, 11, 26, 25, 24, 23, 22, 21, 20, 19, 34, 33, 32, 31, 30, 29, 28, 27, 42, 41, 40, 39, 38, 37, 36, 35, 50, 49, 48, 47, 46, 45, 44, 43 }

  34. 50

    1

    50

    Returns: {50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 }

  35. 50

    50

    1

    Returns: {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50 }

  36. 1

    1

    1

    Returns: {1 }

  37. 11

    4

    8

    Returns: {1, 2, 3, 11, 10, 9, 8, 7, 6, 5, 4 }

  38. 16

    3

    6

    Returns: {4, 3, 2, 1, 10, 9, 8, 7, 6, 5, 16, 15, 14, 13, 12, 11 }

  39. 22

    2

    11

    Returns: {11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12 }

  40. 4

    4

    1

    Returns: {1, 2, 3, 4 }

  41. 15

    14

    6

    Returns: { }

  42. 39

    13

    28

    Returns: { }

  43. 43

    31

    14

    Returns: { }

  44. 9

    3

    5

    Returns: {1, 4, 3, 2, 9, 8, 7, 6, 5 }

  45. 13

    11

    4

    Returns: { }

  46. 25

    4

    22

    Returns: {1, 2, 3, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4 }

  47. 15

    12

    15

    Returns: { }

  48. 25

    23

    21

    Returns: { }

  49. 2

    1

    1

    Returns: { }

  50. 26

    1

    16

    Returns: { }

  51. 1

    1

    1

    Returns: {1 }

  52. 39

    28

    22

    Returns: { }

  53. 11

    8

    7

    Returns: { }

  54. 48

    31

    48

    Returns: { }

  55. 13

    9

    4

    Returns: {1, 2, 3, 4, 5, 6, 7, 9, 8, 13, 12, 11, 10 }

  56. 5

    4

    3

    Returns: { }

  57. 45

    23

    26

    Returns: { }

  58. 48

    33

    17

    Returns: { }

  59. 1

    1

    1

    Returns: {1 }

  60. 39

    30

    8

    Returns: {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 31, 30, 29, 39, 38, 37, 36, 35, 34, 33, 32 }

  61. 8

    8

    7

    Returns: { }

  62. 30

    26

    21

    Returns: { }

  63. 15

    2

    10

    Returns: {5, 4, 3, 2, 1, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6 }

  64. 15

    14

    3

    Returns: { }

  65. 14

    8

    14

    Returns: { }

  66. 9

    2

    3

    Returns: { }

  67. 9

    6

    5

    Returns: { }

  68. 15

    3

    10

    Returns: {1, 5, 4, 3, 2, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6 }

  69. 37

    28

    3

    Returns: {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 25, 24, 28, 27, 26, 31, 30, 29, 34, 33, 32, 37, 36, 35 }

  70. 4

    1

    1

    Returns: { }

  71. 40

    33

    16

    Returns: { }

  72. 31

    14

    23

    Returns: { }

  73. 25

    9

    21

    Returns: { }

  74. 41

    6

    4

    Returns: { }

  75. 4

    1

    1

    Returns: { }

  76. 6

    3

    3

    Returns: {1, 3, 2, 6, 5, 4 }

  77. 50

    20

    5

    Returns: {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 15, 14, 13, 20, 19, 18, 17, 16, 25, 24, 23, 22, 21, 30, 29, 28, 27, 26, 35, 34, 33, 32, 31, 40, 39, 38, 37, 36, 45, 44, 43, 42, 41, 50, 49, 48, 47, 46 }

  78. 3

    2

    3

    Returns: { }

  79. 10

    3

    4

    Returns: {2, 1, 6, 5, 4, 3, 10, 9, 8, 7 }

  80. 6

    4

    4

    Returns: { }

  81. 2

    2

    2

    Returns: { }

  82. 50

    13

    13

    Returns: {1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 10, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38 }

  83. 10

    10

    10

    Returns: { }


This problem statement is the exclusive and proprietary property of TopCoder, Inc. Any unauthorized use or reproduction of this information without the prior written consent of TopCoder, Inc. is strictly prohibited. (c)2024, TopCoder, Inc. All rights reserved.
This problem was used for: