我正在尝试生成依赖于输入字符串的n
个随机数。它将是一个函数generateNumbers(String input)
,它为相同的输入字符串生成相同的数字集,但对于略有不同的输入字符串生成完全不同的数字。
我的问题是:有一种简单的方法吗?
答案 0 :(得分:0)
我同意nihlon,如果你想要的是一个函数f()返回一个int,f(string1) != f(string2)
对于任何string1
,string2
在一些字符串S
中那么你正在寻找一个perfect hash。
显然,如果S
是所有可能字符串的集合,则有超过2 ^ 32,甚至2 ^ 64的方式,因此不能存在返回f()
甚至是int
的{{1}} long
。因此,问题是:S
如何表征?
另外,您确定需要不同字符串的唯一数字吗?在大多数问题域中,常规散列是足够的......
答案 1 :(得分:0)