题目如下:
把abcd…s共19个字母组成的序列重复拼接106次,得到长度为2014的串。
接下来删除第1个字母(即开头的字母a),以及第3个,第5个等所有奇数位置的字母。
得到的新串再进行删除奇数位置字母的动作。如此下去,最后只剩下一个字母,请写出该字母。
看到这个问题一定想遍历1, 3, 5…,但是删除操作也会使得原来的列表变小,从而产生后继影响。既然删除偶数位的(别搞错了,第一个的下标是0)。那么实际上不就是保留奇数位的吗?我们创建一个新的列表来保存奇数位,之后在把原来的列表变成这个新列表继续遍历不就好了吗。代码如下:
x = ['a', 'b','c','d','e',