Given a string s
, the power of the string is the maximum length of a non-empty substring that contains only one unique character.
Return the power of the string.
Example 1:
Input: s = "leetcode" Output: 2 Explanation: The substring "ee" is of length 2 with the character 'e' only.
Example 2:
Input: s = "abbcccddddeeeeedcba" Output: 5 Explanation: The substring "eeeee" is of length 5 with the character 'e' only.
Example 3:
Input: s = "triplepillooooow" Output: 5
Example 4:
Input: s = "hooraaaaaaaaaaay" Output: 11
Example 5:
Input: s = "tourist" Output: 1
class Solution {
public int maxPower(String s) {
if(s.length() == 1) return 1;
Map<String,Integer> freqMap = new HashMap<String,Integer>();
TreeSet<Integer> freqTree = new TreeSet<Integer>();
int counter = 1;
for(int i=0;i<s.length()-1;i++){
if(s.charAt(i) == s.charAt(i+1)){
counter++;
}else{
counter = 1;
}
if(freqMap.containsKey(s.charAt(i)+"")){
if(freqMap.get(s.charAt(i)+"") < counter)
freqMap.put(s.charAt(i)+"",counter);
}else{
freqMap.put(s.charAt(i)+"",counter);
}
//System.out.println(freqMap);
}
for(int i:freqMap.values()){
freqTree.add(i);
}
//System.out.println(freqTree);
return (freqTree.size() > 0)?freqTree.last():0;
}
}