gpt4 book ai didi

algorithm - 字符串到数字和返回算法

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:56:14 27 4
gpt4 key购买 nike

(对我来说)这很难,我希望人们能帮助我。我有一些文本,我需要将其转换为一个数字,但它必须是唯一的,就像文本是唯一的一样。

例如:“kitty”这个词可以产生 12432,但只有 kitty 这个词产生这个数字。文本可以是任何内容,并应给出适当的数字。

一个问题结果整数必须是一个32位无符号整数,也就是说最大可能的数字是2147483647。我不介意是否有文本长度限制,但我希望它可以尽可能大。


我的尝试。你有字母 A-Z 和 0-9,所以一个字符可以有 1-36 之间的数字。但是如果 A = 1 和 B = 2 并且文本是 A(1)B(2) 并且你添加它你会得到结果 3,问题是文本 BA 产生相同的结果,所以这个算法不会工作。

有什么想法可以指引我正确的方向,或者这是不可能的吗?

最佳答案

您的想法总体上是明智的,只需要一点点发展。

f(c) 是一个将字符 c 转换为 [0..M-1] 范围内的唯一数字的函数。然后你可以像这样计算整个字符串的结果数。

f(s[0]) + f(s[1])*M + f(s[2])*M^2 + ... + f(s[n])*M^n

你可以很容易地证明数字对于特定的字符串是唯一的(你可以从数字中得到字符串)。

显然,您不能在此处使用很长的字符串(根据您的情况最多 6 个字符),因为 36^n 增长很快。

关于algorithm - 字符串到数字和返回算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3864185/

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