/**
* Created by albert.bai on 2014/11/24.
* 两个字符串A,B B中的字符是否出现在A中
* 1 可以吧A中的每个字符映射到一个素数上,对A的素数累积,然后遍历B 用每个字符对应的素数去除A的累积,如果余数为0,自然就是存在的喽 O(n) ,O(1)
* 2 下面的做法 仔细体会哦
* 假定字符长都问大写
*/
public class StringContain {
public static boolean Check(char[] s1, char[] s2) {
int mask = 0;
for (char c : s1) {
mask = mask | (1 << (c - 'A'));
}
for (char c : s2) {
if ((mask & (1 << (c - 'A'))) == 0) {
return false;
}
}
return true;
}
}