gpt4 book ai didi

actionscript-3 - 在 AS3 中搜索 8 个字符的字符串的最佳方法?

转载 作者:行者123 更新时间:2023-12-04 06:07:24 24 4
gpt4 key购买 nike

如果有人回答了这个问题,我会事先道歉,但我看了一眼,找不到我想要的东西。

我正在寻找在 AS3 中搜索 8 个字符的字符串以查看它是否包含一个或多个单词的最佳方法。我已经有一个单词词典加载到 Flash 中,带有...

[Embed(source = "../f-16.txt",mimeType = "application/octet-stream")]
private static const wordFile:Class;
var words:Array = new wordFile().toString().split("\n");

我正在考虑将其进一步拆分为每个起始字母的 26 个数组,然后可能将这些数组拆分为不同长度单词的数组(因此所有以 a 开头的 8 个字母单词都在一起,依此类推)。

我需要做的是在 AS3 中搜索一个 8 个字符的字符串,以查看它是否包含字典数组中的任何一个或多个单词。下面是一些示例字符串以及我需要返回的内容...
  • "beenpoet"= "been","poet"
  • "itxitxit"= "it","it","it"
  • "土豚"= "土豚"

  • 等等。我可以看到的问题是单词可以从字符串中的任何一点开始,这使问题变得复杂。

    在 as3 中做到这一点的最佳(最快)方法是什么?

    谢谢你的帮助。

    最佳答案

    我是...

    我有点醉了。 (这可能会被 SO mods 删除。)(编辑:我喝醉了。)

    但是,对于您的特定用例......

    I'm looking for the best way to search an 8 char string in AS3 to see if it contains a word or words. I've already got a dictionary of words loaded into Flash, with...

    I was thinking of splitting that up further into 26 arrays for each starting letter, and than possibly those arrays up into arrays of varying length words (so all the 8 letters words starting with a are together, and so on).



    我可能会建议一个树结构 - 这意味着你有 26^8 个字母组合。我想这会比数组查找更快,因为您不必遍历数组即可找到您的值。

    字符串的每个字符都将是树的一层。理想情况下,您可以在到达最大分支之前很好地停止。无论该数字是多少,您的最大查找次数都是 26^8。

    这种方法最好的一点是,对于树结构,就编写代码而言,沿树递归应该是微不足道的。您只需要存储字典单词。因此,如果有人输入“cbyir”,您将知道(通过第二个字符)输入与字典单词不匹配。 (除非有一个以 CB 开头的词。哦,韦伯斯特,你在哪里?)

    这样做的另一个好处 - 您可以轻松检查字符串的每个字符。如果前面的字符不匹配(或第三个,或第四个……),您可以放弃该搜索并提前退出;你的功能不需要天真。

    再说一次,我醉了。不过,我祝你好运! :-D 如果您有任何问题,请发表评论,因为我知道这可能不清楚。

    编辑:我回到这个答案,因为我正在考虑它。一个可能的实现可以使用 AS3 Dictionary 类;你可以让 Dictionaries 指向 Dictionaries。这将比数组查找快得多,因为字典的查找时间为 O(1)。这意味着您的树查找将非常非常快 - 迭代次数将等于您单词中的字母数,而不是您单词中可能的字母组合数。

    试一试这样的事情;我很确定它会起作用。如果您有任何实现问题,请告诉我。

    关于actionscript-3 - 在 AS3 中搜索 8 个字符的字符串的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8191834/

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