Geen omschrijving

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

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。

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