Объясните использование битового вектора для определения уникальности всех символов



Я смущен тем, как битовый вектор будет работать для этого (не слишком знаком с битовыми векторами). Вот данный код. Может кто-нибудь провести меня через это?



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 делаешь?

584   0  

Comments

    Ничего не найдено.