LeetCode 1234. 替换子串得到平衡字符串 C#
原题链接
中等
作者:
hpstory
,
2023-02-13 22:06:06
,
所有人可见
,
阅读 104
C# 代码
public class Solution {
public int BalancedString(string s) {
Dictionary<char, int> dict = new Dictionary<char, int>(){
{'Q', 0},
{'W', 0},
{'E', 0},
{'R', 0}
};
int n = s.Length;
for (int i = 0; i < n; i++){
dict[s[i]]++;
}
int count = n / 4;
if (dict['Q'] == count && dict['W'] == count && dict['E'] == count && dict['R'] == count) return 0;
int result = n;
int j = 0;
for (int i = 0; i < n; i++){
dict[s[i]]--;
while (j <= i &&dict['Q'] <= count && dict['W'] <= count && dict['E'] <= count && dict['R'] <= count){
result = Math.Min(result, i - j + 1);
dict[s[j++]]++;
}
}
return result;
}
}