Statistics

Problem Statement for "BrokenButtons"

Problem Statement

You want to see some page on the teletext (information service on TV where we refer to pages of information by numbers). Unfortunately, some of the digit buttons on the remote control are broken. But you have an idea! If you can't enter the number of the page you want to see, you could enter some other number and with the buttons '+' and '-' (which are not broken) navigate to the desired page. Button '+' increases the number by 1 and button '-' decreases the number by 1. You are initially at page 100. To go to a different page, you may enter the page number using the digit buttons that aren't broken. Then, press the '+' and '-' buttons to navigate to your desired page.

You will be given an int page, the page you want to see, and a int[] broken, the list of broken digit buttons. Return the minimum number of button presses required to navigate to the page.

Definition

Class:
BrokenButtons
Method:
minPresses
Parameters:
int, int[]
Returns:
int
Method signature:
int minPresses(int page, int[] broken)
(be sure your method is public)

Constraints

  • page will be between 0 and 500,000, inclusive.
  • broken will contain between 0 and 10 elements, inclusive.
  • Each element of broken will be between 0 and 9, inclusive.
  • All elements of broken will be distinct.

Examples

  1. 5457

    { 6, 7, 8 }

    Returns: 6

    You can go to page 5457 either by pressing "5455++" or "5459--".

  2. 100

    { 1, 0, 5 }

    Returns: 0

    If you don't enter anything you'll get page 100.

  3. 99999

    { 0, 2, 3, 4, 5, 6, 7, 8, 9 }

    Returns: 11118

  4. 158

    { 1, 9, 2, 5, 4 }

    Returns: 58

  5. 151241

    { 0, 1, 2, 3, 4, 7, 8, 9 }

    Returns: 84580

  6. 14124

    { }

    Returns: 5

  7. 124

    { 0, 1, 2, 4 }

    Returns: 24

  8. 115

    { 1, 4 }

    Returns: 15

  9. 1

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

    Returns: 2

    We can enter page 0.

  10. 1

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

    Returns: 99

  11. 202

    {0, 1, 3, 4, 5, 6, 7, 8, 9}

    Returns: 23

  12. 500000

    {}

    Returns: 6

  13. 100000

    {1,9}

    Returns: 11117

  14. 137

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

    Returns: 37

  15. 427

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

    Returns: 276

  16. 101

    { }

    Returns: 1

  17. 15124

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

    Returns: 5129

  18. 312523

    { 1, 2, 3, 4, 5, 8, 9 }

    Returns: 234751

  19. 87212

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

    Returns: 118

  20. 9999

    { 1, 2, 4, 6, 3, 5, 7, 9 }

    Returns: 1115

  21. 12

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

    Returns: 13

  22. 88888

    {8}

    Returns: 1117

  23. 500000

    { 0, 1, 2, 3, 4, 5, 7, 8, 9 }

    Returns: 166672

  24. 500000

    { 0, 1, 2, 3, 4, 5, 6, 8, 9 }

    Returns: 277783

  25. 500000

    { 0, 1, 2, 3, 4, 5, 6, 7, 9 }

    Returns: 388894

  26. 500000

    { 0, 1, 2, 3, 4, 5, 6, 7, 8 }

    Returns: 400006

  27. 500000

    { 0, 2, 3, 4, 5, 6, 7, 8, 9 }

    Returns: 388895

  28. 500000

    { 1, 3, 4, 5, 6, 7, 8, 9 }

    Returns: 277784

  29. 498992

    { 1, 2, 3, 5, 6, 7, 8, 9 }

    Returns: 54554

  30. 22

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

    Returns: 14

  31. 13

    { 0, 2, 4, 5, 6, 7, 8, 9 }

    Returns: 2

  32. 4567

    { 0, 1, 2, 3, 4, 9, 6 }

    Returns: 992

  33. 277

    { 0, 2, 4, 6, 8, 9 }

    Returns: 37

  34. 500000

    { 1, 2, 3, 5, 6, 7, 8, 9 }

    Returns: 55562

  35. 500000

    { 0, 1, 2, 3, 5, 6, 7, 8 }

    Returns: 7

  36. 234

    { 0, 1, 2, 3, 4, 5 }

    Returns: 134

  37. 777

    { 7, 0 }

    Returns: 37

  38. 80000

    { 8, 9 }

    Returns: 2228

  39. 9231

    { 1, 0, 4, 6, 9 }

    Returns: 347

  40. 11111

    { 0, 1, 2 }

    Returns: 1116

  41. 432102

    { 0, 3, 2, 4, 6, 9 }

    Returns: 79015

  42. 80000

    {8, 9 }

    Returns: 2228

  43. 500000

    {0, 1, 2, 3, 4, 5, 7, 8, 9 }

    Returns: 166672

  44. 500000

    {1, 2, 3, 4, 5, 6, 7, 9 }

    Returns: 300006

  45. 500000

    {0, 1, 2, 3, 4, 5, 6, 7, 9 }

    Returns: 388894

  46. 500000

    {0, 1, 3, 4, 5, 7, 8, 9 }

    Returns: 122228

  47. 500000

    {0, 1, 2, 3, 4, 6, 7, 8, 9 }

    Returns: 55561

  48. 500000

    {0, 2, 3, 4, 6, 7, 8, 9 }

    Returns: 11117

  49. 9999

    {9 }

    Returns: 6

  50. 99

    { }

    Returns: 1

  51. 500000

    {1, 2, 3, 4, 5, 6, 7, 9, 0 }

    Returns: 388894

  52. 98

    {8, 9 }

    Returns: 2

  53. 0

    {0, 1, 2, 3, 4, 5 }

    Returns: 7

  54. 500000

    {3, 4, 5 }

    Returns: 100006

  55. 1234

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

    Returns: 1134

  56. 199

    {2, 3, 4, 5, 6, 7, 8, 9 }

    Returns: 91

  57. 99

    {9 }

    Returns: 1

  58. 499999

    {1, 2, 3, 4, 5, 6, 8, 9 }

    Returns: 200007

  59. 5

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

    Returns: 95

  60. 500000

    {0, 1, 2, 3, 4, 5, 6, 7, 8 }

    Returns: 400006

  61. 102

    {1, 2, 9 }

    Returns: 2

  62. 1

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

    Returns: 99

  63. 102

    {0, 1, 2, 3, 4, 5, 6, 7 }

    Returns: 2

  64. 500000

    {1, 2, 3, 4, 5, 7, 8, 9 }

    Returns: 100006

  65. 499912

    {6, 7, 8, 9, 4 }

    Returns: 94

  66. 0

    {0 }

    Returns: 2

  67. 102

    { }

    Returns: 2

  68. 300000

    {2, 3, 4, 5, 6, 7, 8, 9, 0 }

    Returns: 188895

  69. 99

    {9, 0 }

    Returns: 1

  70. 0

    { }

    Returns: 1

  71. 97

    {4, 5, 6, 8, 9 }

    Returns: 3

  72. 500000

    {0, 1, 2, 3, 4, 6, 7, 8 }

    Returns: 55561

  73. 499999

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

    Returns: 499899

  74. 1

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

    Returns: 2

  75. 80000

    {8, 9, 7, 6, 5, 4, 3, 2 }

    Returns: 20006

  76. 0

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

    Returns: 100

  77. 5000

    {1, 2, 3, 5, 6, 7, 8, 9, 0 }

    Returns: 560

  78. 101

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

    Returns: 1

  79. 54240

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

    Returns: 54140

  80. 0

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

    Returns: 100

  81. 101

    {2 }

    Returns: 1

  82. 1

    {0, 1, 2, 3, 4, 5, 6, 7, 8 }

    Returns: 9

  83. 10

    {0 }

    Returns: 2

  84. 500000

    {0, 9 }

    Returns: 11117

  85. 500000

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

    Returns: 499900

  86. 105

    {1, 0, 9 }

    Returns: 5

  87. 500000

    {1, 0, 2, 3, 4, 6, 7, 8, 9 }

    Returns: 55561

  88. 1000

    {9 }

    Returns: 4

  89. 121

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

    Returns: 21

  90. 500000

    {0, 1, 2, 4, 6, 7, 8, 9 }

    Returns: 33339

  91. 499999

    {3, 4, 5 }

    Returns: 100007

  92. 80901

    {8, 9, 7, 0 }

    Returns: 14240

  93. 500000

    {1, 2, 3, 4, 5, 7, 8, 9, 0 }

    Returns: 166672

  94. 124398

    {0, 9, 1, 2, 3 }

    Returns: 35515

  95. 500000

    {9, 8, 7, 0, 6 }

    Returns: 11117

  96. 500000

    {1, 2, 3, 4, 5 }

    Returns: 100006

  97. 1234

    { }

    Returns: 4

  98. 101

    {1 }

    Returns: 1

  99. 0

    {1, 2, 3, 4, 5 }

    Returns: 1

  100. 99999

    {9 }

    Returns: 7

  101. 0

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

    Returns: 100

  102. 500000

    {0, 1, 2, 3, 4, 5 }

    Returns: 166672

  103. 98

    {8 }

    Returns: 2

  104. 1

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

    Returns: 99

  105. 100000

    {0, 1, 2, 3, 4, 5, 6, 7, 8 }

    Returns: 6

  106. 500000

    {1, 2, 3, 4, 5, 6, 8, 9 }

    Returns: 200006

  107. 500000

    {0, 2, 3, 6, 8, 9 }

    Returns: 11117

  108. 99

    {3 }

    Returns: 1

  109. 102

    {1, 0 }

    Returns: 2

  110. 13

    {1, 2, 3, 0, 4 }

    Returns: 5

  111. 0

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

    Returns: 100

  112. 1000

    {1 }

    Returns: 4

  113. 1

    {0, 1, 2 }

    Returns: 3

  114. 500000

    {0, 1, 2, 3, 4, 5, 6, 7 }

    Returns: 388894

  115. 499999

    {4, 9, 0 }

    Returns: 11118

  116. 100

    { }

    Returns: 0

  117. 0

    {0, 1, 2 }

    Returns: 4

  118. 500000

    {2, 3, 4, 5, 7, 8, 9 }

    Returns: 100006

  119. 123456

    { }

    Returns: 6

  120. 101

    {1, 0 }

    Returns: 1

  121. 101

    {2, 3, 4, 5, 6, 7, 8, 9 }

    Returns: 1

  122. 9999

    {9, 8, 7 }

    Returns: 6

  123. 500000

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

    Returns: 499900

  124. 102

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

    Returns: 2

  125. 3

    {0, 1, 2, 3, 4, 5, 6, 8, 9 }

    Returns: 5

  126. 1999

    {3, 4, 5, 6, 7, 8, 9 }

    Returns: 5

  127. 0

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

    Returns: 1

  128. 499999

    {4, 0 }

    Returns: 11118

  129. 1

    {0, 2, 3, 4, 5, 6, 7, 9, 8 }

    Returns: 1

  130. 3

    {0, 1, 2, 3, 4, 5, 6, 7, 8 }

    Returns: 7

  131. 2166

    {0, 1, 2, 4, 5, 6, 7, 8 }

    Returns: 1170

  132. 1001

    {2, 3, 4, 5, 6, 7, 8, 9 }

    Returns: 4

  133. 495321

    {0, 1, 2, 3, 4, 5, 6, 7, 8 }

    Returns: 395327

  134. 611

    {0, 2, 3, 4, 5, 6, 7, 8, 9 }

    Returns: 503

  135. 0

    {1 }

    Returns: 1

  136. 101

    {1, 0, 5 }

    Returns: 1

  137. 1000

    {2, 3, 4, 5, 6, 7, 8, 9, 0 }

    Returns: 115

  138. 999

    {2, 3, 4, 5, 6, 7, 8, 9 }

    Returns: 5

  139. 500000

    {9, 8, 7, 6, 4, 3, 2, 0 }

    Returns: 11117

  140. 97

    {9, 8, 7 }

    Returns: 3

  141. 70000

    {2, 3, 4, 5, 6, 7, 8, 9 }

    Returns: 30006

  142. 1000

    {0, 1, 2, 3, 4, 6, 7, 8, 5 }

    Returns: 4

  143. 500000

    {0, 2, 3, 4, 5, 6, 7, 8, 9 }

    Returns: 388895

  144. 500000

    {0, 4 }

    Returns: 11117

  145. 500000

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

    Returns: 499900

  146. 100

    {1, 0, 5 }

    Returns: 0

  147. 99

    {1 }

    Returns: 1

  148. 1

    {1, 2, 3, 4, 5, 6, 7, 8 }

    Returns: 2

  149. 0

    {1, 2, 3, 4, 5, 7, 8, 9, 0 }

    Returns: 7

  150. 2111

    {0, 2, 3, 4, 5, 6, 7, 8, 9 }

    Returns: 1004


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: