搜狐笔试题目一kolakoski序列

来源:互联网 发布:gprs模块网络异常 编辑:程序博客网 时间:2024/04/28 11:05
Kolakoski序列是个随机生成的无限序列.
例如,当给定的整数组为[1,2]时,Kolakoski序列是这样的: [1,2,2,1,1,2,1,2,2,1,2,2,1,1,2,1,1,2,2,1,2,1,1,2,1,2,2,1,1,...] 如果我们将相邻的相同的数字分成一组,那么将会得到: [[1],[2,2],[1,1],[2],[1],[2,2],[1],[2,2],[1,1],[2],[1,1],[2,2],[1],[2],[1,1],[2],[1],[2,2],[1,1],...] 可以看出,每组数字交替由1,2组成. 接下来对每个分组求它的长度,得到: [1,2,2,1,1,2,1,2,2,1,2,2,1,1,2,1,1,2,2,1,2,1,1,2,1,2,2,1,1,...] 可以看出,经过上述变换后,数列保持不变. 对于其他给定的整数组,同样可以用类似的方法构造Kolakoski序列,例如给定整数组[2,3]时: [2,2,3,3,2,2,2,3,3,3,2,2,3,3,2,2,3,3,3,2,2,2,3,3,3,2,2,3,3,...] 给定整数组[2,1,3,1]时,构造得到如下: [2,2,1,1,3,1,2,2,2,1,3,3,1,1,2,2,1,3,3,3,1,1,1,2,1,3,3,1,1,...]
输入        输入由两行组成,    第一行包括两个正整数n,m    第二行包括m个正整数a[]    数据规模与限制:    0<n<10000    1<m<1000    0<a[i]<1000    a[i]不等于a[i+1]    a[0]不等于a[m-1]    输出        每行只有一个数字,共n行    整数组a生成的Kolakoski序列的前n项
Example        Input        30 4    2 1 3 1      Output        2    2    1    1    3    1    2    2    2    1    3    3    1    1    2    2    1    3    3    3    1    1    1    2    1    3    3    1    1    2
def KO(n,m):    ...:b=[]    ...:i=j=0    ...:k=a[0]    ...:while len(b)

原创粉丝点击