Statistics

Problem Statement for "SelfDescFind"

Problem Statement

The number 31143310 is self-describing because we can read it as the statement "this number contains three '1's, one '4's, three '3's, and one '0'", and that statement correctly describes the whole number.

More formally, a number is called self-describing if it satisfies the following:

  • It has an even number of digits. Below, we will label the individual digits a[0], b[0], a[1], b[1], ... from the left to the right.
  • The digits b[i] are all distinct.
  • For each valid i, the number contains exactly a[i] copies of the digit b[i].
  • The number does not contain any other digits, except for those described by the statements mentioned above.

You are given the int[] digits. Find the smallest self-describing number N such that the digits that appear in N are precisely the digits in digits. If such a number exists, return a String with its decimal representation. Otherwise, return an empty String

Definition

Class:
SelfDescFind
Method:
construct
Parameters:
int[]
Returns:
String
Method signature:
String construct(int[] digits)
(be sure your method is public)

Notes

  • Watch out for integer overflow.

Constraints

  • digits will contain between 1 and 10 elements, inclusive.
  • Each element of digits will be between 0 and 9, inclusive.
  • The elements of digits will form a strictly increasing sequence.

Examples

  1. {1}

    Returns: ""

  2. {2}

    Returns: "22"

    The smallest self-describing number is 22. It contains two '2's, and it says about itself that it contains two '2's.

  3. {0,1,3,4}

    Returns: "10143133"

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

    Returns: ""

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

    Returns: "1016181923253251"

  6. {4}

    Returns: ""

    Note that 4444 is not a valid self-describing number.

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

    Returns: ""

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

    Returns: ""

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

    Returns: "1014161723253251"

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

    Returns: "1416171823253251"

  11. {0, 1, 2, 3, 4, 5, 6, 8}

    Returns: "1014161823253251"

  12. {0, 2, 3, 4, 5, 6, 7, 9}

    Returns: ""

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

    Returns: "101415171823263261"

  14. {2, 3}

    Returns: ""

  15. {0, 2, 3, 4, 5, 6, 8, 9}

    Returns: ""

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

    Returns: "1416171923253251"

  17. {0, 1, 2, 3, 4, 5, 6, 9}

    Returns: "1014161923253251"

  18. {0, 2, 3, 8, 9}

    Returns: ""

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

    Returns: "1416181923253251"

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

    Returns: "101415171923263261"

  21. {1, 4, 7}

    Returns: ""

  22. {0, 1, 4, 8}

    Returns: ""

  23. {2, 4, 7, 8, 9}

    Returns: ""

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

    Returns: "101415181923263261"

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

    Returns: ""

  26. {0, 1, 2, 3, 5, 7, 8, 9}

    Returns: "1017181923253251"

  27. {0, 1, 2, 4, 5, 7, 8, 9}

    Returns: ""

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

    Returns: ""

  29. {0, 2, 3, 4, 5, 7, 8, 9}

    Returns: ""

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

    Returns: "1417181923253251"

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

    Returns: ""

  32. {0, 1, 2, 3, 4, 5, 8, 9}

    Returns: "1014181923253251"

  33. {0, 1, 2, 3, 4, 5, 7, 9}

    Returns: "1014171923253251"

  34. {0, 1, 2, 3, 4, 5, 7, 8}

    Returns: "1014171823253251"

  35. {0, 1, 2, 6, 7, 8, 9}

    Returns: ""

  36. {3, 6, 7}

    Returns: ""

  37. {0, 1, 2, 3, 6, 7, 8, 9}

    Returns: ""

  38. {4, 6, 8}

    Returns: ""

  39. {0, 1, 3, 4, 5, 6, 7, 8}

    Returns: ""

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

    Returns: ""

  41. {3, 4, 6, 7}

    Returns: ""

  42. {1, 3, 4, 6, 7, 8, 9}

    Returns: ""

  43. {0, 1, 3, 4, 6, 7, 8, 9}

    Returns: ""

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

    Returns: ""

  45. {1, 2, 3, 4, 6, 7, 8, 9}

    Returns: ""

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

    Returns: "101417181923263261"

  47. {0, 1, 2, 3, 4, 6, 8, 9}

    Returns: ""

  48. {0, 1, 2, 3, 4, 6, 7, 9}

    Returns: ""

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

    Returns: ""

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

    Returns: ""

  51. {1, 3, 4, 5, 6, 7, 9}

    Returns: ""

  52. {0, 1, 5, 6, 8, 9}

    Returns: ""

  53. {0, 1, 2, 5, 6, 7, 8, 9}

    Returns: ""

  54. {0, 1, 2, 5, 6, 7, 8}

    Returns: ""

  55. {0, 1, 3, 5, 6, 7, 8, 9}

    Returns: ""

  56. {0, 1, 2, 4, 5, 6, 7, 9}

    Returns: ""

  57. {0, 2, 3, 5, 6, 7, 8, 9}

    Returns: ""

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

    Returns: "1617181923253251"

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

    Returns: "101517181923263261"

  60. {0, 1, 2, 4, 5, 6, 8, 9}

    Returns: ""

  61. {0, 1, 2, 3, 5, 6, 8, 9}

    Returns: "1016181923253251"

  62. {0, 1, 3, 4, 5, 6, 7, 9}

    Returns: ""

  63. {0, 1, 4, 5, 6, 7, 8, 9}

    Returns: ""

  64. {0, 1, 2, 3, 5, 6, 7, 9}

    Returns: "1016171923253251"

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

    Returns: ""

  66. {1, 2, 4, 5, 6, 7, 8, 9}

    Returns: ""

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

    Returns: ""

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

    Returns: "1016171823253251"

  69. {0, 3, 4, 5, 6, 7, 8, 9}

    Returns: ""

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

    Returns: ""

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

    Returns: ""

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

    Returns: ""

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

    Returns: ""

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

    Returns: "141517181923263261"

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

    Returns: "10141516181923273271"

  76. {0, 1, 2, 3, 5, 6, 8, 9 }

    Returns: "1016181923253251"

  77. {2 }

    Returns: "22"

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

    Returns: "10141516181923273271"

  79. {0, 1, 2, 3, 5, 6, 7, 9 }

    Returns: "1016171923253251"

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

    Returns: ""

  81. {1, 2, 3, 6 }

    Returns: "12163133"

  82. {1, 2, 3, 4 }

    Returns: "12143133"

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

    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: