Amazon Interview Question
InternsCountry: United States
Interview Type: Phone Interview
Find all substrings, find them in dictionary, if found, add to return list.
public void findSubStringInDictionary() {
String s = "abcdefabcd";
Set<String> d = new HashSet<String> (Arrays.asList("a", "cdf", "bcd", "ef"));
System.out.println(findSubString(s,d));
}
public List<String> findSubString(String s, Set<String> dictionary) {
List<String> retSet = new LinkedList<String>();
for (int ii = 0; ii < s.length(); ii++) {
for (int jj = ii; jj <= s.length(); jj++) {
if (dictionary.contains(s.substring(ii, jj))) {
retSet.add(s.substring(ii, jj));
}
}
}
return retSet;
}
- abdelrahman.elbarbary December 28, 2017