第一道题的大致思路是:Kolakoski序列变换后还是Kolakoski序列本身。那么就需要有两个索引变量,一个是Kolakoski序列索引k_index,一个是变换后的Kolakoski序列所以c_index。因为变换前后都是同一个串,所以可以就在一个Kolakoski序列上进行构造操作。也就是说,当前Kolakoski序列的第i个同数字构成子串的长度将成为变换后的Kolakoski序列中的第i个数字(也就是多对一),换而言之,变换后的Kolakoski序列的数对应变换前的Kolakoski序列的子串长度。 给定的数组a[]={1,2},那么开始构造:(粗略思路如下) 1) 不断循环地依次从a中取数,用索引index代表即为a[index]; 2) 如果Kolakoski序列空,则直接添加a[index]进入Kolakoski序列,否则判断当前取的数a[index]和现在构造的Kolakoski序列的最后一个数是否相同值,如果相同,则index++(判断越界,若越界则index=0),否则就将这个值赋给Kolakoski序列,此时操作k_index++。 3) 然后进行Kolakoski[c_index] - 1次循环讲现在的a[index]数添加进去(即Kolakoski[k_index] = a[index]; k_index++),当k_index == n时,输出这个Kolakoski序列。 4) index++并判断是否越界,c_index++。这样不断循环上述步骤,就能求出Kolakoski序列了
点赞 评论

相关推荐

白火同学:1、简历可以浓缩成一页,简历简历先要“简”方便HR快速过滤出有效信息,再要“历”用有效信息突出个人的含金量。 2、教育背景少了入学时间~毕业时间,HR判断不出你是否为应届生。 3、如果你的平台账号效果还不错,可以把账号超链接或者用户名贴到对应位置,一是方便HR知道你是具体做了什么内容的运营,看到账号一目了然,二是口说无凭,账号为证,这更有说服力。
面试被问期望薪资时该如何...
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务