zoukankan      html  css  js  c++  java
  • 力扣(LeetCode)1002. 查找常用字符

    给定仅有小写字母组成的字符串数组 A,返回列表中的每个字符串中都显示的全部字符(包括重复字符)组成的列表。例如,如果一个字符在每个字符串中出现 3 次,但不是 4 次,则需要在最终答案中包含该字符 3 次。

    你可以按任意顺序返回答案。

    示例 1:

    输入:["bella","label","roller"]
    输出:["e","l","l"]

    示例 2:

    输入:["cool","lock","cook"]
    输出:["c","o"]

    提示:

    1 <= A.length <= 100
    1 <= A[i].length <= 100
    A[i][j] 是小写字母

    思路 统计每个字符串每个字母出现的次数,找出字母出现次数最少的,即可。

    java版

    class Solution {
        public List<String> commonChars(String[] A) {
            List<String> list = new ArrayList<>();
    		int i,j,a[][]= new int[100][26];
    		for(i=0;i<A.length;i++) {
    			for(j=0;j<26;j++) {
    				a[i][j]=0;
    			}
    		}
    		for(i=0;i<A.length;i++) {
    			for(j=0;j<A[i].length();j++) {
    				a[i][A[i].charAt(j)-97] += 1; 
    			}
    		}
    		for(i=0;i<26;i++) {
    			int min = 10000;
    			for(j=0;j<A.length;j++) {
    				if(min>a[j][i]) {
    					min = a[j][i];
    				}
    			}
    			for(j=0;j<min;j++) {
    				char c = (char) (i + 97); 
    				list.add(String.valueOf(c));
    			}
    
    		}
            return list;
        }
    }
    

    运行结果

  • 相关阅读:
    高放的c++学习笔记之函数基础
    高放的c++学习笔记之关联容器
    高放的c++学习笔记之lambda表达式
    二分图小结
    送给大一学弟学妹的几句话
    网络流小结
    后缀数组小结
    hdu5353
    UVALive 5792 Diccionário Portuñol
    概率dp小结
  • 原文地址:https://www.cnblogs.com/lick468/p/10658907.html
Copyright © 2011-2022 走看看