Amazon.com

www.amazon.com
Engaged Employer

Interview

# Given two different strings, find the common characters

between the two. For example if string A is "hello" and string B is "elbow" the common characters would be ['e', 'l', 'o']. Give a method that returns unique or duplicate entries.
Tags:
algorithm

1

Using python sets, create the two sets of characters, then return the intersection. This will return the set of characters that are in both strings. from sets import Set def duplicateChars(s1, s2): s1set = set() s2set = set() for c in s1: s1set.add(c) for c in s2: s2set.add(c) return s1set.intersection(s2set) print duplicateChars("string", "ring")

Sam on Jan 10, 2014
1

Solution in Java: public class StringIntersection { String str1 = "hello"; String str2 = "elbow"; public Set findIntersection() { String[] arr1 = str1.split(""); String[] arr2 = str2.split(""); List<String> list = Arrays.asList(arr1); Set<String> set = new LinkedHashSet<String>(Arrays.asList(arr1)); set.retainAll(Arrays.asList(arr2)); set.remove(""); return set; // returns [e, l, o] } }

Chase on Jan 11, 2014