Problem Statement
Definition
- Class:
- StringSegment
- Method:
- average
- Parameters:
- String
- Returns:
- double
- Method signature:
- double average(String s)
- (be sure your method is public)
Notes
- A return value with either an absolute or relative error of less than 1.0E-9 is considered correct.
Constraints
- s will contain between 1 and 50 characters, inclusive.
- s will contain only lowercase letters ('a'-'z').
Examples
"aaabbaaac"
Returns: 2.25
Average length of all the segments = ( 3 + 2 + 3 + 1 ) / 4 = 2.25
"aabbccdd"
Returns: 2.0
"abba"
Returns: 1.3333333333333333
"a"
Returns: 1.0
"zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz"
Returns: 50.0
"bcbc"
Returns: 1.0
"zxcvbnmlkjhgfdsaqwertyuiop"
Returns: 1.0
"xzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzx"
Returns: 15.666666666666666
"eeecabbccccbdbbaaabbbcaaaabbbdbccccddddabeeaaabbbe"
Returns: 2.1739130434782608
"abecccccddddddcbeeeeccaaeeeeaeccccccddeebbbdddbaaa"
Returns: 2.5
"dccbbbbebeacdbbbbdbaaaabbeeeeaaddeeeeaabbbeeecdccc"
Returns: 2.0833333333333335
"bedbbbeebccceecccdddddaaaadceedabaebbbbeeeeccaaaaa"
Returns: 2.1739130434782608
"bdddddcbbbbeeaaeeeeeedddaaaeeeedcccddddccccceebcc"
Returns: 2.8823529411764706
"ccbbceaaaaaaeeebbbddddcacbbbddddccaddcbbbaaaabbb"
Returns: 2.4
"adcdaaaadddedaadaaabbccccbbcccbddaabcceeeecaaaaa"
Returns: 2.0869565217391304
"bbbeeaaaddddebdddaabbbdbddcedcccabdccccbaacbbbbbdc"
Returns: 1.9230769230769231
"eecbcdbbbbbeddddaaddddccbabceeaddcddddeddddddeebb"
Returns: 2.0416666666666665
"bdeeabbbbbddddccccabbbbbeccccdddaabbeccccbbbbabbcc"
Returns: 2.5
"bbbbddddddddddddddddddccccceeeeaaaadaaaabddddddd"
Returns: 5.333333333333333
"bbbddddddddaaaaadddeeeeeeeeeeddbcccccdeeeedddaaaee"
Returns: 3.8461538461538463
"eeaaaacccccdddddbcccccaacccccccccaaaaaeaaaaabaa"
Returns: 3.6153846153846154
"dddddccceeddddaaddddeeeeaaaaaabbbbbccccaaaaaaaaeed"
Returns: 3.8461538461538463
"bbbbbccccceeeebbbbbbbbbbbbbaaaaabbbbbeeeeeceeeeaa"
Returns: 4.9
"bbbbddcccccccccaaeeeeebbbbbdccaaaaaddddcceeddddd"
Returns: 3.6923076923076925
"aaaaaeeedddddddddeebbbbccddddbbbccccccccdddcdccccc"
Returns: 3.8461538461538463
"aaaacccccccccbbbbaaaaaaaeeeeacaaaceebbbbbbbbbeeee"
Returns: 4.083333333333333
"aaaabaeeeeacccccbbbeeeeeaaaaaaaaaaaaacccddddee"
Returns: 3.8333333333333335
"eeaeeedddaaaaaddddaadddeeebbccaaaaaeeeeebbbbee"
Returns: 3.066666666666667
"vvvvvvvvvvvvvvvvwvzzzzzyyzzzzzvzzzzxxyyyyyyvvzzz"
Returns: 4.0
"xxxxxxxxxxxwwwzzzzzzvvvzwwwxxxzzzvvvvvvzzzzxxzzz"
Returns: 4.0
"xxxxxxxxxxxxxyyyyzzzzzzzzzzzvvvvwwxxxxwwwxxxxxyy"
Returns: 5.333333333333333
"wwwwwwwyyyyxxxxwwwwwwwwvwwwwwzzzzzzzyyywwwwyyxxxx"
Returns: 4.454545454545454
"xxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyywwwwyvvxxxxxzzzzz"
Returns: 7.142857142857143
"xxxxxxxxxxxxxxxxyyyyxxxxxvvvxxxxxxwwwwwyyyyvvvvv"
Returns: 6.0
"xxxxwwwwvvvwwwwyyyyyxxxzzzzyyxxxxyxxzyyyyyyxxzzzzv"
Returns: 3.125
"wwwwwwwwwwwwvvvvyxxxxvvvvvvzxxxyyyzzzzzzzzxxxxxxxy"
Returns: 4.545454545454546
"yyyyyyyyyyyyyyyyyyyyyyyvvvvvzzxyyyyzzwwwwzxvvvvv"
Returns: 4.8
"zzzzzzzxvvvvvyyyyyyywwwzxzvxxzzzzzxxyyyyxwwxzzzz"
Returns: 2.823529411764706
"dddddcccccgggrrrrddddeeeeaaauuuuunnggpooooyyyoo"
Returns: 3.357142857142857
"wwwxzzzzzaassssggghmmggnnnnnppppnnkkmmmmuuuuukkk"
Returns: 3.0
"fffffallgggggzkkkkddddcccccleeeejjjjmmnnrrryyzziii"
Returns: 2.9411764705882355
"nnzzzzzaxxaaadddwwwwdzffffsssswwwwttovnhhhhsssss"
Returns: 2.6666666666666665
"eeeaaammmddxxxdddddvvvvcccuudddddcccxxaaaadssstttt"
Returns: 3.125
"bbbgggnnnvvppgggjjjjggmmmmmxxxxxbbbccccyyyycccqqh"
Returns: 3.0625
"dddddwwwwxxxxzqqqqqllllvvvbwxxxxxiiifffclllzmmuuuu"
Returns: 2.9411764705882355
"wwwwssffiuuuuusssssooooolllsssssshhhhcccchhhhhllo"
Returns: 3.5
"llllgfpppuuuuusssuuuccyyvvvvhhhpppppuurrrwiiixxxx"
Returns: 2.8823529411764706
"jjjwwwwxxxbbbbkknnneeeellllljtttttuuuppoooowllbbbb"
Returns: 3.125
"mmmmmtppppnnnnmmmmdyyyyysvvpnnnnmmbbbrfffuuuhheeek"
Returns: 2.6315789473684212
"hhhhsvvvvvooowfwggiiavoooqooooiisssqqqqqqqetddddd"
Returns: 2.45
"jlllllttmmjjjjxxxxxtttggggkkkkktttttiiiiillllldiii"
Returns: 3.5714285714285716
"aaoooossssskkkkffaahhhhmooooolllaaaiiiitwwwwlllvv"
Returns: 3.0625
"rrrpppppyyyzyyyyooooouuuutttttwwwwlllllrrrlllzzzz"
Returns: 3.769230769230769
"ddttbuufffvccccssssssssszzzmiiiiiooooovvvvvgbbbbbp"
Returns: 3.125
"kkkkkvvheemmmmmddddvvvgjjjjsssssxxxammuuqhhhhhkkk"
Returns: 2.8823529411764706
"fffffaaaqkkklllllzzzttjaaaaeefuuuuukkkkklljjqddd"
Returns: 2.823529411764706
"eeevvvvvhhhhhhwfffffuuuuuxxxxfffffppssyyyylljjjj"
Returns: 3.6923076923076925
"eeeerrrrxxxzzzaaappmmmmwwrrroouuutqaaaayglllldj"
Returns: 2.473684210526316
"abcabcabc"
Returns: 1.0
"aaabbb"
Returns: 3.0
"dlsjflsdajfldjflajdlfajdfd"
Returns: 1.0
"aaaa"
Returns: 4.0
"aaabbbccccd"
Returns: 2.75
"a"
Returns: 1.0
"abba"
Returns: 1.3333333333333333
"aaaaaaa"
Returns: 7.0