aboutsummaryrefslogtreecommitdiff
path: root/max_diff_even_odd_freq1.py
diff options
context:
space:
mode:
Diffstat (limited to 'max_diff_even_odd_freq1.py')
-rw-r--r--max_diff_even_odd_freq1.py33
1 files changed, 33 insertions, 0 deletions
diff --git a/max_diff_even_odd_freq1.py b/max_diff_even_odd_freq1.py
new file mode 100644
index 0000000..b1d6ad3
--- /dev/null
+++ b/max_diff_even_odd_freq1.py
@@ -0,0 +1,33 @@
+# 3442. Maximum Difference Between Even and Odd Frequency I
+
+"""
+you are given a string 's' consisting of lowercase english letters. your task
+is to find the minimum difference 'diff = a1 - a2' between the frequency of
+characters 'a1' and 'a2' in the string such that 'a1' has an odd frequency in
+the string, and 'a2' has an even frequency in the string. return this maximum
+difference.
+"""
+
+
+class Solution(object):
+ def maxDifference(self, s):
+ """
+ :type s: str
+ :rtype: int
+ """
+ freq = [0] * 26
+ for i in s:
+ freq[ord(i) - ord("a")] += 1
+ maxi, mini = 0, len(s)
+ for i in range(26):
+ if freq[i] % 2 != 0:
+ maxi = max(maxi, freq[i])
+ if freq[i] % 2 == 0 and freq[i] > 0:
+ mini = min(mini, freq[i])
+ return maxi - mini
+
+
+if __name__ == "__main__":
+ obj = Solution()
+ print(obj.maxDifference(s="aaaaabbc"))
+ print(obj.maxDifference(s="abcabcab"))