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 }
  • 相关阅读:
    Vim Reference
    Java 8 Consumer、Supplier、Predicate、Function
    Java 8 Stream 用法
    Java 基础 Builder模式
    Spring/Spring-Boot 学习 使用自定义的ArgumentResolver
    架构之分布式图片存储系统架构
    微服务和SOA服务
    Centos 上 Tengine安装
    .NET平台上插拔姿势的AOP
    P1424 刷题记录
  • 原文地址:https://www.cnblogs.com/EdwardLiu/p/11669473.html
Copyright © 2011-2022 走看看