題目描述

約翰發現了各式各樣的岩石,每個岩石都是由多種元素組成,每種元素使用小寫英文字母來表示。一種元素可以用來重複組成同種岩石,而每個岩石都有的元素稱為「寶石元素」。給定一個N顆石頭的組成清單,請計算出其中的寶石元素數量。



原題網址

https://www.hackerrank.com/challenges/gem-stones

輸入格式

第一行為一個整數N,表示石頭的數量,範圍在1到100之間(包含1和100)。接下來的N行用小寫英文字母表示石頭的組成元素,每行的字元數量範圍在1到100之間(包含1和100)。

輸出格式

輸出寶石元素數量,如果沒有任何寶石元素,輸出0即可。

範例輸入

3
abcdde
baccd
eeabg

範例輸出

2

額外解釋

只有a和b兩種元素可在所有岩石中被找到,因此這堆石頭中有a和b兩個寶石元素。

解題概念

宣告一個長度為26的整數陣列,用來儲存26個字元在不同的岩石中出現的次數,且在同一顆岩石中重複出現的話只算一次。一開始先讀入整數N,接著再分別讀取N個岩石的組成資料。逐一測試26個字母在該顆岩石中有沒有出現過,如果有的話,整數陣列的中該字母的次數就要加一。加完所有N個岩石的結果之後,最後利用Java 8的串流過濾功能,輸出出現次數為N的陣列元素數量,即為寶石元素的數量。

參考答案