搜狐集团2018秋季校招笔试题 kolakoski序列
来源:互联网 发布:淘宝页面怎么装修 编辑:程序博客网 时间:2024/04/28 16:31
python实现代码:
#code:utf-8import sysif __name__=="__main__": inputVal=raw_input() count=int(inputVal.split()[0]) #结果输出多少行数 n=int(inputVal.split()[1]) myList=list(map(int,raw_input().split()))#存放n个值 resList=[]#存放kolakoski序列 sumLen=1 k=1 #第一次肯定是myList[0]个myList[0]的值 index=myList[0] for i in xrange(index): resList.append(myList[0]) while(k<count): index=resList[k] for i in xrange(index): resList.append(myList[sumLen]) sumLen=sumLen+1 k=k+1 if(sumLen%n==0): #myList长度为n sumLen=0 #print ("len:%d" %(len(resList))) for x in xrange(count): print (resList[x])
结果如图:
解题思路:
kolakoski序列有如下规律:
1、如输入3 1 4 1
2、kolakoski序列为333111444131444411113333141….
2.1、 首先kolakoski的第一个值肯定是3,即resList[0]=myList[0]
2.2、 第一趟:resList需加入3个myList[0]
2.3 、然后查找resList[1],需要加入resList[1]个myList[1]的值到resList
2.4、 然后查找resList[2],需要加入resList[2]个myList[2]的值到resList
2.5、最后查找resList[i],需要加入resList[i]个myList[i%4] (因为myList最大长度为4,每次循环完后,从0开始又循环)的值到resList
2.6、最后输出resList[0]到resList[count-1]的值
阅读全文
0 0
- 搜狐集团2018秋季校招笔试题 kolakoski序列
- 搜狐集团2018秋季校招笔试题 包裹问题
- 2018年搜狐秋季校招校招大数据研发笔试编程题—Kolakoski序列
- 搜狐2017笔试编程题--Kolakoski序列
- 搜狐笔试之Kolakoski序列
- 2018搜狐秋招 Kolakoski生成序列问题答案
- 【搜狐笔试题】Kolakoski数列
- Kolakoski序列的生成——搜狐2018研发类笔试编程题
- Kolakoski序列——搜狐笔试
- 搜狐笔试题目一kolakoski序列
- 搜狐2018校招笔试题
- 阿里巴巴集团2015年秋季校招在线笔试附加题分析
- 搜狐校招笔试题
- 2018搜狐笔试 Kolakoski数列问题
- 搜狐笔试:Kolakoski sequence
- 搜狐笔试Kolakoski数列
- 2015秋季校招淘宝笔试题
- 百度PC客户端研发 2014校招秋季笔试题
- 后台id标识省市县id 前台freemarker数据列表展示
- padding-top margin-top top
- 查看apk的应用包名和activity name
- android app性能测试
- python基础学习五——函数
- 搜狐集团2018秋季校招笔试题 kolakoski序列
- 二分查找
- Retrofit 2.2 传递数组参数
- python教程之二-----一个Python的非正式介绍
- squirrel-foundation状态机的使用细节
- sql 优化注意事项
- 静态链接的整个过程
- GCD中任务与队列(一)
- 简单斐波那契