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 }
  • 相关阅读:
    mysql基于Altas读写分离并实现高可用
    mysql基于GTIDS复制
    mysql创建用户账号出错
    mysql存储引擎
    mysql读写分离
    for each ;for in;for of 三者的区别
    关于编程的历史
    用indexof来统计字符出现的次数
    正则表达式
    DOM,BOM
  • 原文地址:https://www.cnblogs.com/EdwardLiu/p/11669473.html
Copyright © 2011-2022 走看看