【HackerRank】Gem Stones

Gem Stones

John has discovered various rocks. Each rock is composed of various elements, and each element is represented by a lowercase latin letter from 'a' to 'z'. An element can be present multiple times in a rock. An element is called a 'gem-element' if it occurs at least once in each of the rocks.

Given the list of rocks with their compositions, display the number of gem-elements that exist in those rocks.

Input Format
The first line consists of N, the number of rocks.
Each of the next N lines contain rocks' composition. Each composition consists of lowercase letters of English alphabet.

Output Format
Print the number gem-elements that exist in those rocks.

Constraints
1 ≤ N ≤ 100
Each composition consists of only small latin letters ('a'-'z').
1 ≤ Length of each composition ≤ 100


 

题解:

 1 import java.io.*;
 2 import java.util.*;
 3 import java.math.*;
 4 
 5 
 6 public class Solution {   
 7    static int[] Gem_Stones(String[] ele){
 8        int[] answer = new int[27];
 9        for(int i = 0;i < ele.length;i++){
10            boolean[] has = new boolean[27];
11            for(int j =0;j < ele[i].length();j++){
12                char temp = ele[i].charAt(j);
13                if(!has[temp-'a']){
14                    answer[temp-'a']++;
15                    has[temp-'a'] = true;
16                }
17            }
18        }
19        return answer;
20    }
21 
22 
23  public static void main(String[] args) {
24         Scanner in = new Scanner(System.in);
25         int t;
26         t = in.nextInt();
27         String[] strings= new String[t];
28         for(int i = 0;i < t;i++){
29             strings[i] = in.next(); 
30         }
31         int[] answer = Gem_Stones(strings);
32         int count = 0;
33         for(int i = 0;i < answer.length;i++)
34             if(answer[i]== t )
35                 count++;
36         System.out.print(count);
37    }
38 }

 

posted @ 2014-07-29 10:33  SunshineAtNoon  阅读(577)  评论(0编辑  收藏  举报