Problem Statement
You are given a
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
"AAB"
Returns: 0.3333333333333333
There are three ways to pick two cards, one of which is both "A" cards.
"ABC"
Returns: 0.0
Can't get two the same when there's only one of each.
"AA"
Returns: 1.0
Only two cards to choose, so we always get a matched pair.
"ABABA"
Returns: 0.4
"ABCDEFGABCDEFGABCDEFGABCDEFGABCDEFGABCDEFGABCDEFGH"
Returns: 0.12
"MMSTYQWMCQMVAVOLQAWIMO"
Returns: 0.07359307359307359
"DJWZEABJYFNRRETBBWA"
Returns: 0.04678362573099415
"LPQQANSMXZUYYDPKBRRLAHOQMEWGWYVLLUXNSFY"
Returns: 0.032388663967611336
"IPMYKPSOPIZKEOTEAZDVQLQYEINEGBSWS"
Returns: 0.03787878787878788
"DLVQ"
Returns: 0.0
"XLIRNYKHWATNS"
Returns: 0.012820512820512822
"CZXYN"
Returns: 0.0
"CCNHOQDRCLHIKTGJITCATAQDMOAUPBFMIWDVXAD"
Returns: 0.037786774628879895
"VTEKTKCYVSRDWNABLKVZPIBBFUAOQLLHQFEAVFKCLBZWKC"
Returns: 0.04057971014492753
"VVBJNFDHMRDFYJOIKGKNQIAGGZTNOJFRD"
Returns: 0.03787878787878788
"HVPIQENJPGWJLCVZCAWRPKXQKWZEFQXSZQQUBWHMTBSJEATPPF"
Returns: 0.036734693877551024
"LHAAXXZYTEJDZJEJULBXFTKXOROMJDJPAQLKYPSWCYNHKYSZZQ"
Returns: 0.036734693877551024
"DOHUSXCMGJMOQVTDJXTLETEVGFCNPYOMSEGASWTNVDMMPKXMQU"
Returns: 0.03918367346938775
"CFFTKJMNMUPWHUAVLOTLNEGPBGSFWIQXVPMGNLVRFIGSGGFSPO"
Returns: 0.04163265306122449
"XXJWXZPSDRHQEERBRHTIZTBFEYNJUBAPIVSAMTPHXSSAYSBOOF"
Returns: 0.037551020408163265
"KWFMEVDRYLGXCRRHILROYSLLHABHLWZUPNPTCJOEIBQVQUQJGK"
Returns: 0.02857142857142857
"CXQORKUFDUWFCMMIOBYEZXMFXBQUMKSAADXWYZYJIEKKMVOJDM"
Returns: 0.04163265306122449
"IIGTFLKRPUASTBVEYOQKOCOWVMBTBNGQAJKRUKSKOIIOILRJRQ"
Returns: 0.04244897959183674
"UNCMFTJXSKRPCNJRKREKNWFVGUAOJVSBKXMDYWEXKMZAWSGBYT"
Returns: 0.03346938775510204
"RNGBYHGFKTVNXSPEEAGTNMGZAWFZONYPQNAOEVOVSQTDPZCIHO"
Returns: 0.036734693877551024
"PINTUI"
Returns: 0.06666666666666667
"ABDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD"
Returns: 0.9158186864014801
"AAABBCDEFG"
Returns: 0.08888888888888889
"AAABBBAABB"
Returns: 0.4444444444444444
"AAKRITUA"
Returns: 0.10714285714285714
"ABABCDEEF"
Returns: 0.08333333333333333
"ABCDABCDEFGHABCDEFHIHN"
Returns: 0.07359307359307359
"AAAAAAAAAAAAA"
Returns: 1.0
"AAAAAAAAAAAAAEEEE"
Returns: 0.6176470588235294
"AVDDDDDDDASDANANANANDBANDBANDBANBDNAD"
Returns: 0.23573573573573572
"ABABAABBBSSS"
Returns: 0.28787878787878785
"ABAAC"
Returns: 0.3
"AABA"
Returns: 0.5
"ABABABBBA"
Returns: 0.4444444444444444
"AGHUHHX"
Returns: 0.14285714285714285
"PINTUIAI"
Returns: 0.10714285714285714
"AAAABBBCDFRGHTKJLF"
Returns: 0.06535947712418301
"ABABGGF"
Returns: 0.14285714285714285
"ABAACC"
Returns: 0.26666666666666666
"ABACBA"
Returns: 0.26666666666666666
"AAABBABABCCDB"
Returns: 0.2692307692307692
"ABBABAABABCCCAA"
Returns: 0.3238095238095238
"AAAAVVVBBB"
Returns: 0.26666666666666666
"ABBABAABABC"
Returns: 0.36363636363636365
"ABABABAC"
Returns: 0.32142857142857145
"ABCZABCZAAAAA"
Returns: 0.3076923076923077
"AABAOKDFOJSDNFIEADFJSIHJIASDOJ"
Returns: 0.07816091954022988
"ABCDEFFFGGGGH"
Returns: 0.11538461538461538
"ABCAB"
Returns: 0.2
"ABA"
Returns: 0.3333333333333333
"ABBBCCADDE"
Returns: 0.13333333333333333
"AAAAZBZWWWW"
Returns: 0.2363636363636364
"AABAQ"
Returns: 0.3
"AAAABBAQ"
Returns: 0.39285714285714285
"SURABHINEHANITINPURNIMA"
Returns: 0.07114624505928854
"NEHAPURNIMASURABHINITIN"
Returns: 0.07114624505928854
"NITINPURNIMANEHASURABHI"
Returns: 0.07114624505928854
"ABABABABBBBBCXYSZ"
Returns: 0.25
"AAA"
Returns: 1.0
"ABABACCCCCCCCCCC"
Returns: 0.49166666666666664
"ABABABCCC"
Returns: 0.25
"AAABBBCCC"
Returns: 0.25
"AB"
Returns: 0.0
"ABCA"
Returns: 0.16666666666666666
"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
Returns: 1.0