Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
total+=!used[str[i]-'a']; used[str[i]-'a']=1;
它是检查字符并将值保存在变量 total 中的条件。
该total变量将包含数组中唯一字符的数量str。
total
str
total+=!used[str[i]-'a']发生这种情况是因为只有在尚未将字符标记为已访问时才增加 count( )。如果您增加了它,则在下一行 ( used[str[i]-'a']=1) 中将其标记为这样,这样您就不会再次计算它。
total+=!used[str[i]-'a']
used[str[i]-'a']=1
该符号str[i]-'a'用于将字符的 ascii 值从0转移到25(而不是97到122),以便您可以在数组中腾出一些空间。
str[i]-'a'