Statistics

Problem Statement for "FriendlySequences"

Problem Statement

We call two numbers friendly if they have the same digits, ignoring order or repetition. For example 122213 and 312 are friendly while 145 and 2544411 are not. A sequence is friendly if it contains at least two numbers, and all possible pairs of numbers within it are friendly. Two contiguous subsequences are different if they have a different start index, end index or both.

If we are given the sequence 112, 12, 21, 354, 534345, 345, 2221 then the friendly contiguous subsequences are: {112, 12}, {112, 12, 21}, {12, 21}, {354, 534345}, {354, 534345, 345} and {534345, 345}. {112, 12, 21, 354} is not a friendly contiguous subsequence because 112 and 354 are not friendly numbers and {112, 12, 21, 2221} is not a friendly contignuous subsequence because the elements of the sequence aren't in consecutive positions in the original sequence.

Given a int[] array, you must return number of different friendly contignuous subsequences of array.

Definition

Class:
FriendlySequences
Method:
count
Parameters:
int[]
Returns:
int
Method signature:
int count(int[] array)
(be sure your method is public)

Constraints

  • array will have between 0 and 50 elements, inclusive.
  • Each element of array will be between 0 and 2000000000, inclusive.

Examples

  1. {112, 12, 21, 354, 534345, 345, 2221}

    Returns: 6

    The example in the problem.

  2. {10, 1100, 10101, 111, 1111, 11111, 11, 1, 111}

    Returns: 18

  3. {0, 0, 0, 0}

    Returns: 6

    We have a total of 6 possible different pairs of start and end indices for friendly subsequences.

  4. {123456890, 213456890, 198654320}

    Returns: 3

  5. {}

    Returns: 0

  6. {9}

    Returns: 0

  7. {970313}

    Returns: 0

  8. {8, 918389}

    Returns: 0

  9. {4, 547202, 0}

    Returns: 0

  10. {2, 2, 3, 337911}

    Returns: 1

  11. {486691, 419848666, 684914668, 648694861, 149468686}

    Returns: 10

  12. {1, 6, 6, 8, 1, 777590}

    Returns: 1

  13. {239534, 243923935, 393925342, 432939235, 993334225, 4, 8}

    Returns: 10

  14. {4, 6, 0, 1, 475954, 8, 1, 1}

    Returns: 1

  15. {9, 6, 8, 5, 808486, 486808880, 848886080, 804888068, 800868488}

    Returns: 10

  16. {3, 0, 3, 853591, 385559318, 153535988, 531985853, 559858133, 353585819, 559858331}

    Returns: 21

  17. {8, 8, 1, 5, 3, 7, 0, 3, 3, 384209, 4}

    Returns: 2

  18. {6, 2, 6, 3, 4, 904695, 909404956, 69049459, 6, 1, 8, 2}

    Returns: 3

  19. {2, 0, 5, 8, 3, 0, 3, 3, 548154, 4, 0, 6, 5}

    Returns: 1

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

    Returns: 2

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

    Returns: 0

  22. {960611, 199606160, 961001966, 106916069, 61106699, 166199006, 16961069, 1, 6, 4, 7, 0, 770101, 6, 6, 8}

    Returns: 22

  23. {6, 3, 700554, 45005707, 547005700, 2, 6, 9, 5, 7, 283795, 9, 7, 7, 3, 0, 8}

    Returns: 4

  24. {9, 548609, 448595608, 808694554, 504689458, 408869545, 9, 6, 7, 6, 1, 1, 7, 3, 2, 4, 308934, 3}

    Returns: 11

  25. {8, 7, 4, 0, 7, 5, 6, 4, 8, 0, 997031, 779155, 8, 4, 9, 6, 3, 8, 2}

    Returns: 0

  26. {2, 9, 7, 3, 6, 8, 9, 1, 1, 7, 6, 3, 6, 0, 9, 0, 3, 6, 666639, 666666936}

    Returns: 2

  27. {0, 462913, 296421463, 662294143, 136426942, 126942643, 349262146, 926314624, 436491262, 3, 2, 2, 6, 2, 6, 2, 6, 0, 774479, 9, 0}

    Returns: 29

  28. {4, 3, 2, 5, 8, 0, 542847, 5, 2, 0, 8, 3, 4, 8, 6, 8, 6, 9, 5, 6, 9, 875726}

    Returns: 0

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

    Returns: 1

  30. {8, 6, 706679, 707607696, 67766079, 269999, 962999269, 962929996, 699962992, 999692629, 992699269, 969292699, 692969992, 992629969, 299992669, 926969929, 926996299, 299969692, 922699699, 929669299, 969926992, 992996296, 669929929, 699699922}

    Returns: 174

  31. {7, 8, 3, 2, 1, 1, 6, 8, 6, 365905, 555066393, 635609535, 405842, 556336059, 8, 2, 2, 7, 5, 2, 5, 3, 1, 1, 2}

    Returns: 6

  32. {1, 9, 7, 5, 1, 4, 1, 5, 1, 7, 5, 5, 8, 1, 8, 8, 4, 922433, 7, 0, 5, 277434, 442777327, 747737422, 5, 3}

    Returns: 5

  33. {9, 1, 0, 5, 3, 4, 5, 771735, 177731757, 715777173, 771771375, 771175377, 777731157, 773177571, 737517717, 777315717, 717775173, 715771737, 153777717, 777771135, 796804, 796408796, 790687649, 706799684, 708699467, 7, 0}

    Returns: 88

  34. {3, 3, 4, 6, 4, 789504, 48995787, 984987570, 708945879, 889750749, 59887974, 78895974, 758479908, 885479079, 990457878, 548797098, 885970479, 8, 9, 7, 8, 7, 0, 9, 3, 7, 3, 5}

    Returns: 15

  35. {2, 5, 429005, 209544290, 240459902, 950292404, 492504092, 509290424, 207366, 606730722, 236200677, 20772636, 7263627, 307672206, 770203626, 362727600, 707626023, 723260076, 270203667, 9, 0, 6, 5, 5, 9, 1, 2, 8, 3}

    Returns: 37

  36. {5, 515038, 810355551, 85535151, 805555131, 835155510, 518510553, 51553518, 158550513, 155108355, 550855131, 515835510, 51535158, 135551580, 158150535, 315015558, 583105155, 531081555, 558511350, 305551158, 815535150, 185555130, 505553181, 555105183, 515385051, 558155130, 150385551, 15558315, 153585051, 9}

    Returns: 101

  37. {4, 9, 1, 8, 237785, 857332772, 4, 4, 3, 4, 1, 7, 8, 7, 6, 2, 4, 4, 52363, 23553236, 4, 7, 3, 1, 6, 2, 4, 2, 1, 0, 4}

    Returns: 4

  38. {2, 6, 8, 7, 9, 3, 6, 3, 1, 0, 8, 4, 5, 752901, 5, 1, 7, 7, 2, 1, 2, 634787, 9, 5, 9, 7, 6, 8, 2, 8, 860096, 7}

    Returns: 1

  39. {7, 8, 9, 1, 0, 2, 719776, 717797691, 771791796, 971779716, 777791916, 776197719, 1, 9, 8, 49874, 8, 9, 6, 0, 7, 1, 480526, 3, 7, 8, 0, 5, 7, 9, 0, 8, 4}

    Returns: 15

  40. {3, 4, 5, 9, 5, 4, 2, 6, 1, 6, 1, 5, 6, 8, 8, 76359, 59736637, 79756363, 66779353, 93757366, 283653, 93673567, 76363579, 79366573, 39676573, 36376597, 76653739, 67637359, 56937736, 97375636, 53636977, 96576373, 69675373, 960427}

    Returns: 77

  41. {2, 4, 0, 5, 3, 8, 8, 0, 6, 678359, 566738897, 857897663, 865976738, 868579367, 853897667, 753676898, 687753986, 0, 9, 5, 681426, 264181668, 668461182, 1, 8, 1, 5, 7, 941105, 445910911, 945409111, 59114419, 8, 5, 0}

    Returns: 35

  42. {9, 8, 5, 3, 8, 9, 7, 8, 7, 8, 1, 9, 3, 2, 5, 1, 9, 2, 5, 321223, 312123322, 222133231, 232223311, 321312322, 332212231, 132222133, 333122221, 121222333, 313231222, 332212312, 323312221, 322113322, 212312323, 222321133, 212331223, 312321322}

    Returns: 136

  43. {3, 0, 7, 7, 9, 995199, 999595919, 915999599, 559919999, 919599995, 195599999, 915999959, 519599999, 999559199, 955199999, 999959915, 199599959, 6, 0, 5, 172852, 5, 4, 5, 2, 7, 6, 3, 2, 3, 6, 1, 6, 0, 1, 620474, 5}

    Returns: 67

  44. {2, 2, 140702, 4211047, 210104047, 241410070, 401020174, 410270014, 470411200, 395963, 533959693, 539693935, 333965995, 363399595, 996955333, 933356599, 335953996, 935353996, 996335539, 563939359, 4117402, 47241001, 71142004, 120700441, 100201474, 410704102, 20147140, 410217004, 472140100, 420104701, 14270014, 714104002, 401007421, 447101200, 5, 1, 5, 9}

    Returns: 168

  45. {1, 2, 9, 284806, 688422048, 486202488, 888426420, 226844088, 268480428, 868220484, 624408828, 862440882, 224648880, 28442886, 842088264, 628208484, 688422804, 288248046, 846224088, 846028824, 880448262, 848402826, 408884226, 848280624, 848246820, 88822446, 7, 5, 1, 5, 3, 3, 2, 7, 0, 7, 5, 6, 219893}

    Returns: 101

  46. {8, 8, 7, 4, 2, 931137, 311933719, 719913133, 391971313, 193793311, 313317919, 393319171, 931313917, 393191371, 937331191, 339311719, 480516, 939731131, 939137311, 119731393, 191793133, 313713991, 193719133, 2, 2, 2, 2, 3, 5, 2, 8, 1, 4, 1, 4, 9, 7, 1, 0, 5}

    Returns: 77

  47. {2, 0, 6, 9, 5, 7, 4, 7, 5, 3, 9, 6, 2, 5, 7, 9, 0, 5, 4, 864950, 645496880, 66495884, 854668490, 464898056, 864864059, 649808456, 371581, 313717158, 117735138, 337511871, 890854664, 2, 0, 3, 2, 5, 3, 4, 5, 6, 483369}

    Returns: 13

  48. {9, 6, 4, 4, 8, 8, 1, 4, 7, 2, 2, 3, 7, 2, 5, 7, 715776, 777157516, 755771167, 177516757, 751771567, 775711756, 6, 4, 6, 8, 3, 0, 4, 1, 247022, 987149, 814989797, 881479979, 899148779, 988991477, 987719489, 179748989, 987919487, 799814897, 187997498, 977998184}

    Returns: 73

  49. {5, 6, 1, 455204, 550544452, 550454245, 504454552, 445554520, 45554254, 461664, 552505444, 455440525, 424555450, 450424555, 4, 4, 1, 3, 7, 5, 9, 0, 4, 3, 7, 9, 9, 7, 0, 9, 1, 7, 1, 5, 4, 3, 2, 989680, 6, 9, 8, 6, 4}

    Returns: 18

  50. {1, 2, 8, 6, 9, 5, 8, 2, 831117, 131871831, 817113183, 818171313, 731811318, 813817131, 171331881, 181133718, 113181783, 317111388, 318171813, 318371118, 178133118, 288957, 811311873, 711831318, 811713813, 813318711, 188311371, 173181318, 813318117, 9, 9, 8, 444597, 1, 6, 6, 5, 9, 4, 8, 1, 3, 3, 9}

    Returns: 102

  51. {6, 4, 0, 0, 2, 321480, 5, 432222, 222423423, 423232224, 224423322, 324322422, 224322324, 424232223, 324422232, 244222233, 422322432, 223244322, 432242322, 322243242, 223342242, 344222232, 322232442, 324322242, 222332244, 222243234, 222423324, 222234342, 222234324, 422323242, 424322223, 324223422, 232242423, 422322342, 242243223, 232432224, 224223234, 682238, 9, 9, 6, 8, 8, 4, 6}

    Returns: 438

  52. {2, 0, 6, 5, 8, 6, 4, 6, 3, 9, 0, 9, 4, 0, 7, 0, 3, 3, 4, 3, 5, 7, 8, 2, 8, 0, 8, 2, 3, 8, 5, 167926, 669172617, 416192, 726967161, 486640, 3, 5, 7, 5, 1, 3, 7, 2, 2, 9}

    Returns: 3

  53. {1, 8, 8, 4, 5, 0, 0, 8, 8, 0, 6, 234919, 112489, 191228411, 112419128, 811924112, 228114191, 211149821, 121291184, 121419218, 841119212, 211492181, 112411892, 121118249, 282119114, 982111142, 281119421, 811122914, 211489121, 111922184, 112298411, 948221111, 491112821, 814911221, 111429281, 498211211, 114221918, 129281141, 112281419, 112981214, 112842191, 894211121, 181112249, 249181121, 198412121, 114218219, 229419343}

    Returns: 564

  54. {4, 3, 5, 1, 7, 2, 794227, 961881, 191689816, 118991866, 989661811, 866911819, 181986619, 868919116, 618698119, 168169918, 911198686, 186189961, 986691811, 981161896, 861691981, 699168181, 681169981, 961169881, 619881619, 119186986, 169189168, 961916818, 886191619, 189698611, 116989618, 989069, 611968189, 611981968, 198611869, 689191681, 911986861, 196918618, 698811691, 981186169, 169968181, 169196881, 472427979, 5, 5, 3, 5, 2}

    Returns: 322

  55. {7, 7, 2, 2, 9, 4, 4, 4, 7, 1, 8, 4, 874341, 783844714, 341887447, 344148787, 448378741, 744378418, 257308, 572752830, 208357725, 223805775, 553787202, 820552773, 823757502, 572052837, 273257508, 38275257, 582270753, 825703527, 782235705, 822377550, 72258735, 372825570, 575320278, 702257358, 278520753, 827573502, 25257873, 587027352, 270585372, 757822305, 530277285, 6, 9, 604710, 8, 8, 3}

    Returns: 79

  56. {9, 1, 6, 3, 2, 7, 4, 9, 8, 2, 3, 4, 2, 5, 9, 2, 2, 4, 5, 8, 0, 4, 5, 598577, 9, 1, 6, 7, 5, 8, 4, 3, 7, 0, 9, 6, 5, 3, 4, 8, 3, 812963, 246154, 8, 2, 2, 0, 4, 4, 52476}

    Returns: 3

  57. {2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000}

    Returns: 1225

  58. {123123123, 123123123, 123123123, 123123123, 123123123, 123123123, 123123123, 123123123, 123123123, 123123123, 123123123, 123123123, 123123123, 123123123, 123123123, 123123123, 123123123, 123123123, 123123123, 123123123, 123123123, 123123123, 123123123, 123123123, 123123123, 123123123, 123123123, 123123123, 123123123, 123123123, 123123123, 123123123, 123123123, 123123123, 123123123, 123123123, 123123123, 123123123, 123123123, 123123123, 123123123, 123123123, 123123123, 123123123, 123123123, 123123123, 123123123, 123123123, 123123123, 123123123}

    Returns: 1225

  59. {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}

    Returns: 1225

  60. {1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890}

    Returns: 1225

  61. {11112222, 111222, 1122, 12, 1111122222 }

    Returns: 10

  62. { }

    Returns: 0

  63. {10, 1100, 10101, 111, 1111, 11111, 11, 1, 111 }

    Returns: 18

  64. {1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890, 1234567890 }

    Returns: 1225

  65. {123, 111222333, 123, 111222333, 123, 111222333, 123, 111222333, 123, 111222333, 123, 111222333, 123, 111222333, 123, 111222333, 123, 111222333, 123, 111222333, 123, 111222333, 123, 111222333, 123, 111222333, 123, 111222333, 123, 111222333, 123, 111222333, 123, 111222333, 123, 111222333, 123, 111222333, 123, 111222333, 123, 111222333, 123, 111222333, 123, 111222333, 123, 111222333, 123, 111222333 }

    Returns: 1225

  66. {1, 11, 12, 111, 1111 }

    Returns: 2

  67. {0, 10 }

    Returns: 0

  68. {4578, 45678 }

    Returns: 0

  69. {13, 123 }

    Returns: 0

  70. {89, 889, 998, 888, 8, 98, 8, 98, 8, 89, 89, 8, 8, 89, 89, 899, 988, 89, 9, 98, 989, 898 }

    Returns: 19

  71. {1, 12 }

    Returns: 0

  72. {1223, 343, 436, 34, 54, 23, 5, 4, 64, 33, 22, 33, 44, 34, 34, 23, 43, 54, 54, 54, 4, 7, 4, 5, 3, 65, 34, 54, 34, 23, 3, 4, 3, 3, 3, 23, 32, 3, 65, 43, 54, 65, 45, 546, 545454545, 54, 23, 65, 34 }

    Returns: 9

  73. {0, 0, 0, 0, 0, 0 }

    Returns: 15

  74. {2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000, 2000000000 }

    Returns: 1225

  75. {0, 0, 0, 0 }

    Returns: 6

  76. {123, 1245, 657, 789, 768967, 67867867, 67889, 5432, 5675, 675668, 89778, 789, 0, 12321, 45646, 123, 67, 346, 7645, 7634, 234, 234 }

    Returns: 2

  77. {19, 11 }

    Returns: 0


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: