zoukankan      html  css  js  c++  java
  • Microsoft OA

    Given a string S consisting of N lowercase letters, return the minimum number of letters that must be deleted to obtain a word in which every letter occurs a unique number of times

    没有想到要再存一个HashMap, appearance to character mapping

     1 package UniqueCharacter;
     2 
     3 import java.util.HashMap;
     4 import java.util.Map;
     5 
     6 public class Solution {
     7     public static int charCountToDelete(String s) {
     8         HashMap<Character, Integer> map = new HashMap<>();
     9         for (char c : s.toCharArray()) {
    10             map.put(c, map.getOrDefault(c, 0) + 1);
    11         }
    12 
    13         int res = 0;
    14         HashMap<Integer, Character> intToCharMap = new HashMap<>();
    15         for (Map.Entry<Character, Integer> entry : map.entrySet()) {
    16             int value = entry.getValue();
    17             while (intToCharMap.containsKey(value)) {
    18                 res ++; // need to delete
    19                 value --;
    20             }
    21             intToCharMap.put(value, entry.getKey());
    22         }
    23         return res;
    24     }
    25 
    26     public static void main(String[] args) {
    27         int res = charCountToDelete("aaaabbbbcccdde");
    28         System.out.printf("result is %d
    ", res);
    29         int res2 = charCountToDelete("aaaabbbb");
    30         System.out.printf("result is %d
    ", res2);
    31         int res3 = charCountToDelete("aaaabbbccd");
    32         System.out.printf("result is %d
    ", res3);
    33     }
    34 }
  • 相关阅读:
    DJANGO
    前端--BootStrap
    前端--JQuery
    前端--JavaScript
    前端--CSS
    前端--HTML
    python中面试题积累
    python中一些小的知识点
    python中字典的增删改查及相关知识点
    python中列表的增删改查以及其它相关方法
  • 原文地址:https://www.cnblogs.com/EdwardLiu/p/11669473.html
Copyright © 2011-2022 走看看