LeetCode 3442. Maximum Difference Between Even and Odd Frequency I
🔗 https://leetcode.com/problems/maximum-difference-between-even-and-odd-frequency-i
题目
- 给一个由小写字母组成的字符串
- 返回 freq(ch1) - freq(ch2) 的最大值,要求 ch1 出现次数为 odd,ch2 出现次数为 even
思路
- 遍历字符串,统计字符的频率
- 记录 max odd 的频率,min even 的频率,注意不统计 0
- 返回 max_odd - min_even
代码
class Solution {
public:int maxDifference(string s) {vector<int> freq(26);for (auto ch : s) {freq[ch - 'a']++;}int max_odd = 0;int min_even = s.size();for (int i = 0; i < 26; i++) {if (freq[i] == 0) continue;if (freq[i] & 1) {max_odd = max(max_odd, freq[i]);} else {min_even = min(min_even, freq[i]);}}return max_odd - min_even;}
};