gpt4 book ai didi

java - 检查一个单词是否是另一个单词的子字谜 (Java)

转载 作者:太空宇宙 更新时间:2023-11-04 11:21:47 25 4
gpt4 key购买 nike

“未售出”和“筒仓”这两个词是“阴险地”一词的子字谜。也就是说,它们只能使用“insidely”中的字母来拼写。显然还有更多,这个概念是《澳大利亚人报》上发现的文字游戏的基础。

我正在尝试编写一个程序,它接受两个参数 - 一个单词,另一个可能是该单词的子字谜词,如果是,则返回 true。到目前为止,这就是我所得到的:

public boolean isAnswer(String word, String base)
ArrayList<Character> characters = new ArrayList<>();
for(char x : base.toCharArray)
{
characters.add(x)
}
for(char y : word.toCharArray)
{
if(characters.contains(x))
{
characters.remove(x)
}
else
{
return false;
}
return true;
}

它确实有效,但如果我循环遍历英语词典中的每个单词,这将极大地消耗内存力。如何在不创建 ArrayList 局部变量的情况下执行此操作?

最佳答案

如果您想让现有程序更好,请考虑使用SET而不是LIST,因为它会

  • 消除角色集合中的重复添加内容,从而节省空间。
  • 在下一个循环中为您节省一些迭代,从而节省时间。

编辑

但是,在其中一条评论指出的条件下,这种优化可能不起作用。

EX - 当base只有“ab”并且单词有“aab”

关于java - 检查一个单词是否是另一个单词的子字谜 (Java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44819851/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com