Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
在 Java 中,我正在开发用于玩文字的争夺游戏。
如果 player1 发送像"B,A,C,N,R,E"这样的字母,那么 player1 不应再发送相同的字母集(顺序无关紧要),例如"A,B,C,N,R,E", “B、A、N、C、E、R”等。
无论如何要在不特定于字母序列的字符串中找到给定的字母集?
对应player1,可以对他发送的序列进行排序和存储。下次他选择一个序列时,对其进行排序并检查地图
1)按照前面所说的对字母进行排序。复杂度 O(n log n)。
2) 用计数器实现某种数组,其中字母表中符号的序号将是掩码数组中的索引。并使用这个掩码数组来匹配单词。就像那个 Integer[] maskArray = [0(for A),0(for B),0(for C),etc.] 复杂度 O(n)。