首页 > 其他 > 详细

[LC] 1002. Find Common Characters

时间:2020-01-18 12:03:23      阅读:63      评论:0      收藏:0      [点我收藏+]

Given an array A of strings made only from lowercase letters, return a list of all characters that show up in all strings within the list (including duplicates).  For example, if a character occurs 3 times in all strings but not 4 times, you need to include that character three times in the final answer.

You may return the answer in any order.

 

Example 1:

Input: ["bella","label","roller"]
Output: ["e","l","l"]

Example 2:

Input: ["cool","lock","cook"]
Output: ["c","o"]


class Solution {
    public List<String> commonChars(String[] A) {
        List<String> res = new ArrayList<>();
        if (A == null || A.length == 0) {
            return res;
        }
        int[] lowerCaseArr = new int[26];
        for (char c: A[0].toCharArray()) {
            lowerCaseArr[c - ‘a‘] += 1;
        }
        for (int i = 1; i < A.length; i++) {
            int[] curDict = new int[26];
            for (char c: A[i].toCharArray()) {
                curDict[c - ‘a‘] += 1;
            }
            for (int j = 0; j < lowerCaseArr.length; j++) {
                lowerCaseArr[j] = Math.min(lowerCaseArr[j], curDict[j]);
            }
        }
        
        for (int i = 0; i < lowerCaseArr.length; i++) {
            while (lowerCaseArr[i] > 0) {
                res.add(Character.toString((char)(i + ‘a‘)));
                lowerCaseArr[i] -= 1;
            }
        }
        return res;
    }
}

 

[LC] 1002. Find Common Characters

原文:https://www.cnblogs.com/xuanlu/p/12208573.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!