Sin descripción

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

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。

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