+ -
当前位置:首页 → 问答吧 → 连续正整数数组非前缀编码问题

连续正整数数组非前缀编码问题

时间:2011-09-11

来源:互联网

现在有一个N个元素的连续正整数数组,例如N=33,假设我们对这个数组从1开始编码,也就是编码为[1,2,3,...30,31,32,33],在其中会存在有部分数字是其他数字的前缀,例如1是10, 11,12,..19的前缀,2是20,21,...29的前缀,3是30,31,32,33的前缀,现在希望能够选定一个起始数字进行编码,使得编码后的每个数字都不是其他数字的前缀。
例如对N=33的数组从4开始编码,也就是[4,5,6,...30,31,32,33,34,35,36],其中没有任何一个数字是其他数字的前缀。
又例如N=123时,从14开始编码,[14,15,16,...,120,12,123,124,...,130,131,132,133,134,135,136],也没有任何一个数字是其他数字的前缀。

现在给出N,要求求出最小的起始编码X,使得N个数字从X开始编码后的数据中没有任何一个数字是其他数字的前缀。

作者: amunix   发布时间: 2011-09-11

N*(1/9)向上取整?

作者: sbwwkmyd   发布时间: 2011-09-11