gpt4 book ai didi

ruby - 如何优雅地计算 ruby​​ 中单词的字谜签名?

转载 作者:数据小太阳 更新时间:2023-10-29 07:42:19 24 4
gpt4 key购买 nike

源于this问题,我正在寻找一种优雅的( ruby )方法来计算 this 中建议的单词签名回答。

建议的思路是对单词中的字母进行排序,并对重复的字母进行游程编码。因此,例如“mississippi”首先变为“iiiimppssss”,然后可以通过编码为“4impp4s”进一步缩短。

我是 ruby​​ 的新手,虽然我可以一起破解一些东西,但我确信这对于有更多 ruby​​ 经验的人来说是一个单一的类轮。我有兴趣了解人们的方法并提高我的 ruby​​ 知识。

编辑:澄清一下,计算签名的性能对我的应用程序来说并不重要。我正在寻找计算签名,以便我可以将它与每个单词一起存储在一个大型单词数据库(450K 单词)中,然后查询具有相同签名的单词(即给定单词的所有字谜,它们是实际的英语单词).因此,对空间的关注。 “优雅”部分只是为了满足我的好奇心。

最佳答案

创建字母排序列表的最快方法是这样的:

"mississippi".unpack("c*").sort.pack("c*")

它比 split('') 和 join() 快很多。为了进行比较,最好将数组重新组合成一个字符串,这样您就不必比较数组了。

关于ruby - 如何优雅地计算 ruby​​ 中单词的字谜签名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/401834/

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