zoukankan      html  css  js  c++  java
  • *Common characters

    Write a program that gives count of common characters presented in an array of strings..(or array of character arrays) 

    For eg.. for the following input strings.. 

    aghkafgklt 
    dfghako 
    qwemnaarkf 

    The output should be 3. because the characters a, f and k are present in all 3 strings. 

    Note: The input strings contains only lower case alphabets

    public int getNumOfCommonChars(String[] inputs) {
            // Return 0 if null / empty input or only one string is provided
            if(inputs == null || inputs.length < 2) {
                return 0;
            } else {
                //create an int array to hold # times character appears 
                int[] charCounts = new int[256];
                for(String input : inputs) {
                    Set<Character> uniqueCharSet = new HashSet<Character>(); //对于每个String,都新建一个HashSet
                    for(int i=0; i < input.length(); i++) {
                        char ch = input.charAt(i);
                        if (!uniqueCharSet.contains(ch)) {  //没有charCounts才加,有就不加,用来保证一个String里重复的char不被数到。
                            uniqueCharSet.add(ch);
                            charCounts[(int) ch] += 1;
                        }
                    }    
                }
            
                int commonCharCount = 0;
                for (int i=0; i < 256; i++) {
                    if (charCounts[i] == inputs.length()) {
                        commonCharCount++;
                    }
                }
                
                return commonCharCount;
            }
        }

    reference:

    http://www.careercup.com/question?id=6283084039192576

  • 相关阅读:
    91. 最短Hamilton路径【状压DP】
    EF框架使用
    html文本转化为html格式显示的问题
    遇到的错误及解决方式总结
    快速上手一个第三方控件,工具等
    提高窗体加载效率
    个人的一些技巧总结
    一些调试程序的小技巧
    Git原理基础(版本控制机制)
    版本控制介绍
  • 原文地址:https://www.cnblogs.com/hygeia/p/5152810.html
Copyright © 2011-2022 走看看