首页 > 代码库 > 【HackerRank】Gem Stones

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