【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 }

 

你可能感兴趣的:(rank)