class Solution(object):
def minDeletions(self, s):
"""
:type s: str
:rtype: int
"""
freq_map = {}
count = 0
unique_val = []
# hash freq map
for char in s:
if char not in freq_map:
freq_map[char] = 0
freq_map[char] += 1
#
for char in freq_map:
while freq_map[char] > 0 and freq_map[char] in unique_val:
count += 1
freq_map[char] -= 1
if freq_map[char] not in unique_val:
unique_val.append(freq_map[char])
return count
Y2xhc3MgU29sdXRpb24ob2JqZWN0KToKICAgIGRlZiBtaW5EZWxldGlvbnMoc2VsZiwgcyk6CiAgICAgICAgIiIiCiAgICAgICAgOnR5cGUgczogc3RyCiAgICAgICAgOnJ0eXBlOiBpbnQKICAgICAgICAiIiIKCiAgICAgICAgZnJlcV9tYXAgPSB7fQogICAgICAgIGNvdW50ID0gMAogICAgICAgIHVuaXF1ZV92YWwgPSBbXQogICAgICAgICMgaGFzaCBmcmVxIG1hcAogICAgICAgIGZvciBjaGFyIGluIHM6CiAgICAgICAgICAgIGlmIGNoYXIgbm90IGluIGZyZXFfbWFwOgogICAgICAgICAgICAgICAgZnJlcV9tYXBbY2hhcl0gPSAwCiAgICAgICAgICAgIGZyZXFfbWFwW2NoYXJdICs9IDEKICAgICAgICAKICAgICAgICAjCiAgICAgICAgZm9yIGNoYXIgaW4gZnJlcV9tYXA6CiAgICAgICAgICAgIHdoaWxlIGZyZXFfbWFwW2NoYXJdID4gMCBhbmQgZnJlcV9tYXBbY2hhcl0gaW4gdW5pcXVlX3ZhbDoKICAgICAgICAgICAgICAgIGNvdW50ICs9IDEKICAgICAgICAgICAgICAgIGZyZXFfbWFwW2NoYXJdIC09IDEKICAgICAgICAgICAgaWYgZnJlcV9tYXBbY2hhcl0gbm90IGluIHVuaXF1ZV92YWw6CiAgICAgICAgICAgICAgICB1bmlxdWVfdmFsLmFwcGVuZChmcmVxX21hcFtjaGFyXSkKICAgICAgICByZXR1cm4gY291bnQKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAKICAgICAgICA=