给定一个由字符 AZ 组成的最长 25 个字符的输入字符串,在输入字符串的所有可能字谜的字母排序列表中输出其索引。输入字符串不区分大小写。输入字符可以重复。该应用程序必须在 500 毫秒内完成并且占用少于 1GB 的内存。
乍一看,如果没有任意精度的数学库,这似乎是不可能的。最坏情况输入是 25 个唯一字符,结果为 25!可能的字谜。25!比 2^64 大几个数量级。因为索引和字符串之间的关系不是直接的,必须计算出来,所以没有办法简单地将字符串转换为数字。
这来自我前几天收到的一个面试挑战。我无法为他们想出一个解决方案,他们坚持认为确实有一个很好的解决方案......