Files
leetcode/README.md
T
2025-09-15 21:12:04 +08:00

15 lines
514 B
Markdown

- 02/2506
- ```c++
for (const string &word : words)
{
int state = 0;
for (char c : word)
{
state |= 1 << (c - 'a');
}
res += cnt[state];
cnt[state]++;
}
```
- 这是一种位压缩算法,巧妙的利用二进制的位来表示一个单词中出现的所有字母。
- 关键就是`state |= 1 << (c - 'a');`这一行。这一行的作用是将state的第(c - 'a')位设为1,这样就可以表示这个单词中出现了字母c。