首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >检查数组中的前缀

检查数组中的前缀
EN

Stack Overflow用户
提问于 2021-02-27 13:32:32
回答 1查看 116关注 0票数 0

我得到了正确的输出,但超过了时间限制。

问题:包含(不一定是不同的)N个单词和Q个查询的列表Li。每个查询都由一个字符串x组成。对于每个查询,找出列表Li中有多少个字符串的前缀是字符串x。\

代码语言:javascript
运行
复制
class Solution{
    static List prefixCount(int N, int Q, String li[], String query[])
    {
        List list = new ArrayList<>();
        int l,c;
        for(int i=0; i=query[i].length()){
                if(li[j].substring(0,query[i].length()).equals(query[i])){
                    c++;
                }
                }
            }
            list.add(c);
        }
    return list;
    }
}

如何优化上面的代码?

EN

Stack Overflow用户

回答已采纳

发布于 2021-02-27 14:00:40

使用给定的字符串创建trie,在每个节点上维护创建Trie时该节点被遍历的次数。

现在,对于您遍历数组的每个前缀字符串,如果您成功遍历到Trie中的前缀字符串长度,则该前缀字符串的答案在节点处计数,否则答案为0。

票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66395902

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档