码迷,mamicode.com
首页 > 其他好文 > 详细

*Common characters

时间:2016-01-23 10:19:04      阅读:92      评论:0      收藏:0      [点我收藏+]

标签:

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

*Common characters

标签:

原文地址:http://www.cnblogs.com/hygeia/p/5152810.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!