我坐在我的办公桌前,我只是想出了一个问题,我想知道是否有人能想出一个解决方案或一种方法来证明这个问题.
假设我想找到最短的数字串,其中包含0到1000之间的每个数字.例如,字符串"1433"包含数字,1,4,3,14,43,33,143和433.
我可以使用什么算法来构造包含所有数字0-1000的最短字符串.
我没有任何实际的理由为什么我想知道,但我有兴趣听听是否有.
您要求修改de Bruijn序列.具体来说,de Bruijn序列的第一个n-1个字符附加到字符串的末尾.
对于您询问的特定情况,它将是10 ^ 3 + 2 = 1002位长(假设1000不包括在内 - 如果你设置正确,你可以安排1000在字符串中,但是无法保证任意选择的(10,3)de Bruijn序列将包含"1000").