• + 0 comments

    Java

    public static int gemstones(List<String> arr) {
        List<String> uniqueChar = new ArrayList<>();
        int gemstones = 0;
            
        // For each string, add all characters in uniqueChar
        for (int i = 0; i < arr.size(); i++) {
            uniqueChar.addAll(Arrays.asList(arr.get(i).split("")));
        }
            
        // Removing duplicate characters
        uniqueChar = new ArrayList<>(new LinkedHashSet<>(uniqueChar));
            
        for (int i = 0; i < uniqueChar.size(); i++) {
            String c = uniqueChar.get(i);
            int counter = 0;
                
            for (int j = 0; j < arr.size(); j++) { 
                String str = arr.get(j);           
                counter += (str.indexOf(c) != -1) ? 1 : 0;
            }
                
            gemstones += (counter == arr.size()) ? 1 : 0;
        }
            
        return gemstones;
    }