zoukankan      html  css  js  c++  java
  • [leetCode]1002. 查找常用字符

    在这里插入图片描述

    计数

    使用一个数组minfreq记录字符c在所有字符串中出现的最小频次。遍历每个字符串的字符c,使用freq 记录c在当前字符串中的最小频次,每遍历完一个字符串,将每一个minfreq[c]更新为其本身与 freq[c] 的较小值

    class Solution {
        public List<String> commonChars(String[] A) {
            int[] minfreq = new int[26];
            Arrays.fill(minfreq, Integer.MAX_VALUE);
            for (String word: A) {
                int[] freq = new int[26];
                int length = word.length();
                for (int i = 0; i < length; ++i) {
                    char ch = word.charAt(i);
                    ++freq[ch - 'a'];
                }
                for (int i = 0; i < 26; ++i) {
                    minfreq[i] = Math.min(minfreq[i], freq[i]);
                }
            }
    
            List<String> ans = new ArrayList<String>();
            for (int i = 0; i < 26; ++i) {
                for (int j = 0; j < minfreq[i]; ++j) {
                    ans.add(String.valueOf((char) (i + 'a')));
                }
            }
            return ans;
        }
    }
    
  • 相关阅读:
    Java 抽象类
    7.队列的链表实现
    6.队列的数组实现
    5.栈的链表实现
    4.栈的数组实现
    3.线性表-cursor
    2.线性表-Linked list
    1.线性表-Array
    hello world!
    boost 大小端转换
  • 原文地址:https://www.cnblogs.com/PythonFCG/p/13859898.html
Copyright © 2011-2022 走看看