Объясните использование битового вектора для определения того, являются ли все символы уникальными
Я не понимаю, как будет работать битовый вектор для этого (не слишком знаком с битовыми векторами). Вот код, данный. Может кто-нибудь, пожалуйста, проведите меня через это?
public static boolean isUniqueChars(String str) {
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;
}
В частности, что такоеchecker
делать?