1
0

Тайлбар байхгүй

lWolvesl a96de06a95 Rename *22.cpp to 22.cpp 10 сар өмнө
23 3f58f483ff init 11 сар өмнө
24 3f58f483ff init 11 сар өмнө
25 f94834d397 250923 10 сар өмнө
dataStruct 3f58f483ff init 11 сар өмнө
dynamic planning a96de06a95 Rename *22.cpp to 22.cpp 10 сар өмнө
else 3f58f483ff init 11 сар өмнө
greed 3f58f483ff init 11 сар өмнө
key 3f58f483ff init 11 сар өмнө
test 3f58f483ff init 11 сар өмнө
tools 3f58f483ff init 11 сар өмнө
we 3f58f483ff init 11 сар өмнө
.gitignore 3f58f483ff init 11 сар өмнө
README.md 3f58f483ff init 11 сар өмнө
main.c 3f58f483ff init 11 сар өмнө
main.go 3f58f483ff init 11 сар өмнө
tools.h 3f58f483ff init 11 сар өмнө

README.md

  • 02/2506
    • 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。

备用站点 当前处于降级运行的备用站点,仅供应急访问,数据和功能可能不是最新。