Statistics

Problem Statement for "PickTwoCards"

Problem Statement

You are given a String cards, where each character represents the color of a card. You then select two of those cards at random. Return the probability that they are the same color.

Definition

Class:
PickTwoCards
Method:
equalProbability
Parameters:
String
Returns:
double
Method signature:
double equalProbability(String cards)
(be sure your method is public)

Notes

  • A return value that is less than 1e-9 absolute or relative error is considered correct.

Constraints

  • cards will contain between 2 and 50 characters, inclusive.
  • Each character of cards will be between 'A' and 'Z', inclusive.

Examples

  1. "AAB"

    Returns: 0.3333333333333333

    There are three ways to pick two cards, one of which is both "A" cards.

  2. "ABC"

    Returns: 0.0

    Can't get two the same when there's only one of each.

  3. "AA"

    Returns: 1.0

    Only two cards to choose, so we always get a matched pair.

  4. "ABABA"

    Returns: 0.4

  5. "ABCDEFGABCDEFGABCDEFGABCDEFGABCDEFGABCDEFGABCDEFGH"

    Returns: 0.12

  6. "MMSTYQWMCQMVAVOLQAWIMO"

    Returns: 0.07359307359307359

  7. "DJWZEABJYFNRRETBBWA"

    Returns: 0.04678362573099415

  8. "LPQQANSMXZUYYDPKBRRLAHOQMEWGWYVLLUXNSFY"

    Returns: 0.032388663967611336

  9. "IPMYKPSOPIZKEOTEAZDVQLQYEINEGBSWS"

    Returns: 0.03787878787878788

  10. "DLVQ"

    Returns: 0.0

  11. "XLIRNYKHWATNS"

    Returns: 0.012820512820512822

  12. "CZXYN"

    Returns: 0.0

  13. "CCNHOQDRCLHIKTGJITCATAQDMOAUPBFMIWDVXAD"

    Returns: 0.037786774628879895

  14. "VTEKTKCYVSRDWNABLKVZPIBBFUAOQLLHQFEAVFKCLBZWKC"

    Returns: 0.04057971014492753

  15. "VVBJNFDHMRDFYJOIKGKNQIAGGZTNOJFRD"

    Returns: 0.03787878787878788

  16. "HVPIQENJPGWJLCVZCAWRPKXQKWZEFQXSZQQUBWHMTBSJEATPPF"

    Returns: 0.036734693877551024

  17. "LHAAXXZYTEJDZJEJULBXFTKXOROMJDJPAQLKYPSWCYNHKYSZZQ"

    Returns: 0.036734693877551024

  18. "DOHUSXCMGJMOQVTDJXTLETEVGFCNPYOMSEGASWTNVDMMPKXMQU"

    Returns: 0.03918367346938775

  19. "CFFTKJMNMUPWHUAVLOTLNEGPBGSFWIQXVPMGNLVRFIGSGGFSPO"

    Returns: 0.04163265306122449

  20. "XXJWXZPSDRHQEERBRHTIZTBFEYNJUBAPIVSAMTPHXSSAYSBOOF"

    Returns: 0.037551020408163265

  21. "KWFMEVDRYLGXCRRHILROYSLLHABHLWZUPNPTCJOEIBQVQUQJGK"

    Returns: 0.02857142857142857

  22. "CXQORKUFDUWFCMMIOBYEZXMFXBQUMKSAADXWYZYJIEKKMVOJDM"

    Returns: 0.04163265306122449

  23. "IIGTFLKRPUASTBVEYOQKOCOWVMBTBNGQAJKRUKSKOIIOILRJRQ"

    Returns: 0.04244897959183674

  24. "UNCMFTJXSKRPCNJRKREKNWFVGUAOJVSBKXMDYWEXKMZAWSGBYT"

    Returns: 0.03346938775510204

  25. "RNGBYHGFKTVNXSPEEAGTNMGZAWFZONYPQNAOEVOVSQTDPZCIHO"

    Returns: 0.036734693877551024

  26. "PINTUI"

    Returns: 0.06666666666666667

  27. "ABDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD"

    Returns: 0.9158186864014801

  28. "AAABBCDEFG"

    Returns: 0.08888888888888889

  29. "AAABBBAABB"

    Returns: 0.4444444444444444

  30. "AAKRITUA"

    Returns: 0.10714285714285714

  31. "ABABCDEEF"

    Returns: 0.08333333333333333

  32. "ABCDABCDEFGHABCDEFHIHN"

    Returns: 0.07359307359307359

  33. "AAAAAAAAAAAAA"

    Returns: 1.0

  34. "AAAAAAAAAAAAAEEEE"

    Returns: 0.6176470588235294

  35. "AVDDDDDDDASDANANANANDBANDBANDBANBDNAD"

    Returns: 0.23573573573573572

  36. "ABABAABBBSSS"

    Returns: 0.28787878787878785

  37. "ABAAC"

    Returns: 0.3

  38. "AABA"

    Returns: 0.5

  39. "ABABABBBA"

    Returns: 0.4444444444444444

  40. "AGHUHHX"

    Returns: 0.14285714285714285

  41. "PINTUIAI"

    Returns: 0.10714285714285714

  42. "AAAABBBCDFRGHTKJLF"

    Returns: 0.06535947712418301

  43. "ABABGGF"

    Returns: 0.14285714285714285

  44. "ABAACC"

    Returns: 0.26666666666666666

  45. "ABACBA"

    Returns: 0.26666666666666666

  46. "AAABBABABCCDB"

    Returns: 0.2692307692307692

  47. "ABBABAABABCCCAA"

    Returns: 0.3238095238095238

  48. "AAAAVVVBBB"

    Returns: 0.26666666666666666

  49. "ABBABAABABC"

    Returns: 0.36363636363636365

  50. "ABABABAC"

    Returns: 0.32142857142857145

  51. "ABCZABCZAAAAA"

    Returns: 0.3076923076923077

  52. "AABAOKDFOJSDNFIEADFJSIHJIASDOJ"

    Returns: 0.07816091954022988

  53. "ABCDEFFFGGGGH"

    Returns: 0.11538461538461538

  54. "ABCAB"

    Returns: 0.2

  55. "ABA"

    Returns: 0.3333333333333333

  56. "ABBBCCADDE"

    Returns: 0.13333333333333333

  57. "AAAAZBZWWWW"

    Returns: 0.2363636363636364

  58. "AABAQ"

    Returns: 0.3

  59. "AAAABBAQ"

    Returns: 0.39285714285714285

  60. "SURABHINEHANITINPURNIMA"

    Returns: 0.07114624505928854

  61. "NEHAPURNIMASURABHINITIN"

    Returns: 0.07114624505928854

  62. "NITINPURNIMANEHASURABHI"

    Returns: 0.07114624505928854

  63. "ABABABABBBBBCXYSZ"

    Returns: 0.25

  64. "AAA"

    Returns: 1.0

  65. "ABABACCCCCCCCCCC"

    Returns: 0.49166666666666664

  66. "ABABABCCC"

    Returns: 0.25

  67. "AAABBBCCC"

    Returns: 0.25

  68. "AB"

    Returns: 0.0

  69. "ABCA"

    Returns: 0.16666666666666666

  70. "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"

    Returns: 1.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: