Solved in Java
Take 2 strings s1
and s2
including only letters from a
to z
. Return a new sorted string, the longest possible, containing distinct letters - each taken only once - coming from s1 or s2.
Examples:
a = "xyaabbbccccdefww"
b = "xxxxyyyyabklmopq"
longest(a, b) -> "abcdefklmopqwxy"
a = "abcdefghijklmnopqrstuvwxyz"
longest(a, a) -> "abcdefghijklmnopqrstuvwxyz"
Solution
import java.util.Arrays;
import java.util.LinkedHashSet;
import java.util.Set;
public class TwoToOne {
public static String longest (String s1, String s2) {
StringBuilder str=new StringBuilder();
str.append(s1).append(s2);
char[] chars=str.toString().toCharArray();
Arrays.sort(chars);
Set<Character> charSet = new LinkedHashSet<Character>();
for (char c : chars) {
charSet.add(c);
}
return charSet.toString().replace("[", "").replace("]", "").replace(",", "").replaceAll(" ", "");
}
}
1 Comments
👌👌
ReplyDelete