在Java中,我正在开发用于玩文字的争夺游戏。
如果player1发送“B,A,C,N,R,E”之类的字母,则播放器1不应发送相同的字母组(序列无关紧要),例如“ A,B,C,N,R,E“,”B,A,N,C,E,R“等。
有没有找到一个不符合字母序列的字符串中的给定字母组?
答案 0 :(得分:3)
对应于player1,您可以对他发送的序列进行排序和存储。下次他选择序列时,对其进行排序并在地图中进行检查
答案 1 :(得分:1)
1)按照之前的说法对字母进行排序。复杂度O(n log n)。
2)使用计数器实现某种数组,其中字母表中的simbol的序号将是掩码数组中的索引。并使用此掩码数组来匹配单词。 就像那个Integer [] maskArray = [0(对于A),0(对于B),0(对于C)等]复杂性O(n)。