Skip to content

Latest commit

 

History

History
38 lines (33 loc) · 1.1 KB

Question_1647.md

File metadata and controls

38 lines (33 loc) · 1.1 KB

LeetCode Records - Question 1647 Minimum Deletions to Make Character Frequencies Unique

Attempt 1: Use an int[] to store the character counts

class Solution {
    public int minDeletions(String s) {
        int[] counts = new int[26];
        for (char ch : s.toCharArray()) {
            counts[ch - 'a']++;
        }

        Arrays.sort(counts);

        int actionCount = 0;
        int lowestAvailableCount = counts[25] - 1;
        for (int i = 24; i >= 0; i--) {
            if (lowestAvailableCount > 0) {
                if (counts[i] > lowestAvailableCount) {
                    actionCount += (counts[i] - lowestAvailableCount);
                    lowestAvailableCount--;
                } else if (counts[i] == lowestAvailableCount) {
                    lowestAvailableCount--;
                } else {
                    lowestAvailableCount = counts[i] - 1;
                }
            } else {
                actionCount += counts[i];
            }
        }

        return actionCount;
    }
}
  • Runtime: 7 ms (Beats: 98.70%)
  • Memory: 45.34 MB (Beats: 55.84%)