-5
total+=!used[str[i]-'a'];
used[str[i]-'a']=1;

它是检查字符并将值保存在变量 total 中的条件。

4

1 回答 1

2

total变量将包含数组中唯一字符的数量str

total+=!used[str[i]-'a']发生这种情况是因为只有在尚未将字符标记为已访问时才增加 count( )。如果您增加了它,则在下一行 ( used[str[i]-'a']=1) 中将其标记为这样,这样您就不会再次计算它。

该符号str[i]-'a'用于将字符的 ascii 值从0转移到25(而不是97122),以便您可以在数组中腾出一些空间。

于 2018-08-31T12:23:00.223 回答