zoukankan      html  css  js  c++  java
  • 791. Custom Sort String

    Question

    791. Custom Sort String

    Solution

    题目大意:给你字符的顺序,让你排序另一个字符串。

    思路:

    输入参数如下:
    S = "cba"
    T = "abcd"
    
    先构造一个map,sMap
    key存储S中出现的字符,value存储字符在S中的位置
    c -> 0
    b -> 1
    a -> 2
    
    再构造一个int数组,sIdx
    sIdx,存储S中的字符在T字符串中出现的次数
    
    遍历T字符串
    如果字符在sMap中,sIdx就加1
    如果不存在,就直接加入到返回字符串
    
    最后遍历sIdx数组,将S中的字符加入到返回字符串
    

    Java实现:

    public String customSortString(String S, String T) {
        Map<Character, Integer> sMap = new HashMap<>();
        int[] sIdx = new int[S.length()];
        for (int i = 0; i < S.length(); i++) {
            sMap.put(S.charAt(i), i);
            sIdx[i] = 0;
        }
    
        String retStr = "";
        for (char c : T.toCharArray()) {
            if(sMap.containsKey(c)) {
                sIdx[sMap.get(c)] += 1;
                continue;
            };
            retStr += String.valueOf(c);
        }
    
        for (int i = 0; i < S.length(); i++) {
            while (sIdx[i]-- > 0) {
                retStr += S.charAt(i);
            }
        }
        return retStr;
    }
    
  • 相关阅读:
    CF601B Solution
    CF847F Solution
    CF877D Solution
    CF1472F Solution
    CF1472G Solution
    CF1355E Solution
    CF912D Solution
    CF1167F Solution
    shell脚本自动备份MySQL数据库
    centos7 crontab笔记
  • 原文地址:https://www.cnblogs.com/okokabcd/p/9526362.html
Copyright © 2011-2022 走看看