Problem Statement
Limak is a little bear who wants to learn the English alphabet. He tries to say the whole alphabet from 'a' to 'z'. Your job is to stop him when he makes a mistake. Can you check how many first letters he said correctly?
You are given a
Definition
- Class:
- Alpha
- Method:
- maxPref
- Parameters:
- String
- Returns:
- int
- Method signature:
- int maxPref(String s)
- (be sure your method is public)
Constraints
- The number of characters in s will be between 1 and 26, inclusive.
- Each character in s will be a lowercase English character ('a' - 'z').
Examples
"abctyf"
Returns: 3
The first three characters match: a, b, c.
"abcdefghijklmnopqrstuvwxyz"
Returns: 26
All 26 characters match the English alphabet exactly.
"zyx"
Returns: 0
"abcdegfhijk"
Returns: 5
Characters 'f' and 'g' are swapped, so we only accept first five characters (abcde).
"ba"
Returns: 0
"aabc"
Returns: 1
"abcdefghijklmno"
Returns: 15
"a"
Returns: 1
"b"
Returns: 0
"z"
Returns: 0
"aa"
Returns: 1
"bb"
Returns: 0
"edcba"
Returns: 0
"abcdefhij"
Returns: 6
"abcdefhijg"
Returns: 6
"cabd"
Returns: 0
"ab"
Returns: 2
"abb"
Returns: 2
"abc"
Returns: 3
"abcm"
Returns: 3
"abcd"
Returns: 4
"abcdz"
Returns: 4
"abcde"
Returns: 5
"abcdeb"
Returns: 5
"abcdef"
Returns: 6
"abcdefm"
Returns: 6
"abcdefg"
Returns: 7
"abcdefgw"
Returns: 7
"abcdefgh"
Returns: 8
"abcdefghe"
Returns: 8
"abcdefghi"
Returns: 9
"abcdefghiy"
Returns: 9
"abcdefghij"
Returns: 10
"abcdefghijy"
Returns: 10
"abcdefghijk"
Returns: 11
"abcdefghijkd"
Returns: 11
"abcdefghijkl"
Returns: 12
"abcdefghijkli"
Returns: 12
"abcdefghijklm"
Returns: 13
"abcdefghijklma"
Returns: 13
"abcdefghijklmn"
Returns: 14
"abcdefghijklmnd"
Returns: 14
"abcdefghijklmno"
Returns: 15
"abcdefghijklmnot"
Returns: 15
"abcdefghijklmnop"
Returns: 16
"abcdefghijklmnopl"
Returns: 16
"abcdefghijklmnopq"
Returns: 17
"abcdefghijklmnopqc"
Returns: 17
"abcdefghijklmnopqr"
Returns: 18
"abcdefghijklmnopqro"
Returns: 18
"abcdefghijklmnopqrs"
Returns: 19
"abcdefghijklmnopqrsu"
Returns: 19
"abcdefghijklmnopqrst"
Returns: 20
"abcdefghijklmnopqrste"
Returns: 20
"abcdefghijklmnopqrstu"
Returns: 21
"abcdefghijklmnopqrstug"
Returns: 21
"abcdefghijklmnopqrstuv"
Returns: 22
"abcdefghijklmnopqrstuvm"
Returns: 22
"abcdefghijklmnopqrstuvw"
Returns: 23
"abcdefghijklmnopqrstuvwd"
Returns: 23
"abcdefghijklmnopqrstuvwx"
Returns: 24
"abcdefghijklmnopqrstuvwxb"
Returns: 24
"abcdefghijklmnopqrstuvwxy"
Returns: 25
"abcdefghijklmnopqrstuvwxyy"
Returns: 25
"bcdefghijklmnopqrstuvwxyz"
Returns: 0
"zyxwvutsrqponmlkjihgfedcba"
Returns: 0
"owcmqodugmvopquucnalghassv"
Returns: 0
"aaabcskfnao"
Returns: 1
"xb"
Returns: 0
"abcdg"
Returns: 4