例如,我有一个关键字“abandoned”,我想从我存储这些单词的数组中找到包含该关键字的字母的单词,例如“done”、“abandon”、band”。我该如何搜索呢?
我尝试编写此代码但无法正常工作。我写了一个函数,它接受关键字和单词。然后我把关键字的字母放到keywordletters数组中,把单词的字母放到wordletters数组中。
然后我写了一个循环来匹配字母。如果 wordletters 数组与 keywordletters 数组的字母匹配,那么我将当前 wordletters 元素分配为 nil,然后我将 keywordletters 元素设为 nil。因为我们不能第二次使用它。
在所有循环之后,我检查了 wordletters 数组。如果它有一个不是 nil 的元素,那么我返回 false。但是,它没有按我想要的方式工作。你能帮我吗?
编辑:我解决了我的问题并相应地编辑了代码。
这是我的代码:
function consistLetters(keyword,word)
keywordletters={ }
wordletters= { }
local found=false
findLetters(keyword,keywordletters)
findLetters(word,wordletters)
for i=1, #wordletters,1 do
for j=1, #keywordletters,1 do
if(keywordletters[j]~="") then
if(wordletters[i]==keywordletters[j]) then
keywordletters[j]=""
found=true;
break
end
end
end
if found~=true then
return false
end
found=false;
end
end