看到這個(gè)題目, 然后發(fā)現(xiàn)里面一個(gè)算法蚕脏, 頗耐人尋味, 然后就記載下來了侦锯。
對(duì)于一個(gè)字符串驼鞭,請(qǐng)?jiān)O(shè)計(jì)一個(gè)高效算法,找到第一次重復(fù)出現(xiàn)的字符尺碰。
測試樣例:
"qywyer23tdd"返回:y
private static String findFirstRepeatChar(String string) {
int[] charset = new int[8];
char[] chars = string.toCharArray();
for (char c : chars) {
int row = c / 32;
int col = c % 32;
if ((charset[row] & 1 << col) != 0) {
return String.valueOf(c);
} else {
charset[row] |= (1 << col);
}
}
return "-1";
}