/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
{
// your code goes here
"aabbcc",
"abbbcc",
"abcccc"
};
System.
out.
println("common characters are " + findCommonChars
(words
)); }
static List
<String
> findCommonChars
(String[]words
){ int[] count = new int[26];
count = findCount(words[0]);
for(int i=1;i<words.length;i++){
int[] temp = findCount(words[i]);
for(int j =0;j<26;j++){
count
[j
] = Math.
min(count
[j
],temp
[j
]); }
}
List<String> res = new ArrayList<>();
for(int i=0;i<count.length;i++){
if(count[i]>0){
int cnt = count[i];
while(cnt>0){
res.
add(String.
valueOf((char)('a'+i
))); cnt--;
}
}
}
return res;
}
static int[] findCount
(String s
){ int[] res = new int[26];
for(char c: s.toCharArray()){
res[c-'a']++;
}
return res;
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgoJewoJCS8vIHlvdXIgY29kZSBnb2VzIGhlcmUKCQlTdHJpbmdbXSB3b3JkcyA9IHsKICAgIAkiYWFiYmNjIiwKICAgIAkiYWJiYmNjIiwKICAgIAkiYWJjY2NjIgoJCX07CgkJU3lzdGVtLm91dC5wcmludGxuKCJjb21tb24gY2hhcmFjdGVycyBhcmUgIiArIGZpbmRDb21tb25DaGFycyh3b3JkcykpOwoJfQoJc3RhdGljIExpc3Q8U3RyaW5nPiBmaW5kQ29tbW9uQ2hhcnMoU3RyaW5nW113b3Jkcyl7CgkJaW50W10gY291bnQgPSBuZXcgaW50WzI2XTsKCQljb3VudCA9IGZpbmRDb3VudCh3b3Jkc1swXSk7CgkJZm9yKGludCBpPTE7aTx3b3Jkcy5sZW5ndGg7aSsrKXsKCQkJaW50W10gdGVtcCA9IGZpbmRDb3VudCh3b3Jkc1tpXSk7CgkJCWZvcihpbnQgaiA9MDtqPDI2O2orKyl7CgkJCQljb3VudFtqXSA9IE1hdGgubWluKGNvdW50W2pdLHRlbXBbal0pOwoJCQl9CgkJfQoJCUxpc3Q8U3RyaW5nPiByZXMgPSBuZXcgQXJyYXlMaXN0PD4oKTsKCQlmb3IoaW50IGk9MDtpPGNvdW50Lmxlbmd0aDtpKyspewoJCQlpZihjb3VudFtpXT4wKXsKCQkJCWludCBjbnQgPSBjb3VudFtpXTsKCQkJCXdoaWxlKGNudD4wKXsKCQkJCQlyZXMuYWRkKFN0cmluZy52YWx1ZU9mKChjaGFyKSgnYScraSkpKTsKCQkJCQljbnQtLTsKCQkJCX0KCQkJfQoJCX0KCQlyZXR1cm4gcmVzOwoJfQoJc3RhdGljIGludFtdIGZpbmRDb3VudChTdHJpbmcgcyl7CgkJaW50W10gcmVzID0gbmV3IGludFsyNl07CgkJZm9yKGNoYXIgYzogcy50b0NoYXJBcnJheSgpKXsKCQkJcmVzW2MtJ2EnXSsrOwoJCX0KCQlyZXR1cm4gcmVzOwoJfQp9