Yeah. Or:
def anagram(a, b): return sorted(a) == sorted(b)
and
def replace_space(a): return re.sub(" ", "%20", a)
in python :) Sure that's even better than writing it in C++ right? And look! It's shorter too! Did I get the job? Did I get the job?
Implement an algorithm to determine if a string has all unique characters. What if you cannot use additional data structures?
Implement a function void reverse(char* str) in C or C++ which reverses a null-terminated string.
Solution 1.1 offered in the Book:
package Question1_1;
public class Question {
public static boolean isUniqueChars(String str) {
if (str.length() > 128) {
return false;
}
int checker = 0;
for (int i = 0; i < str.length(); i++) {
int val = str.charAt(i) - 'a';
if ((checker & (1 << val)) > 0) return false;
checker |= (1 << val);
}
return true;
}
public static boolean isUniqueChars2(String str) {
if (str.length() > 128) {
return false;
}
boolean[] char_set = new boolean[128];
for (int i = 0; i < str.length(); i++) {
int val = str.charAt(i);
if (char_set[val]) return false;
char_set[val] = true;
}
return true;
}
public static void main(String[] args) {
String[] words = {"abcde", "hello", "apple", "kite", "padle"};
for (String word : words) {
System.out.println(word + ": " + isUniqueChars(word) + " " + isUniqueChars2(word));
}
}
}
I think we're just highlighting how profoundly stupid technical interview questions are... I agree, I agree, I agree. It's stupid. :)
May the flamewar begin. :D