(自认为很简洁)
我采取的方法:
看到这个题目我是懵逼的,这啥玩意啊??完全不知道题目在说什么。求救了一下,解释如下:
设第n个序列的内容为"112322"(当然这是假的)
则第n+1个序列的内容是这样来的,在上一个数组中:
先有两个1,所以开头是2(个)1;然后有一个2,所以加上1(个)2:;······
以此类推,所以结果是“21121322”。代码如下:
case = '1'
for i in range(n-1):
t,re,ex = 0,'',case[0]
for x in case:
if not x == ex:
t,re = 0,re + str(t) + ex
ex,t = x,t+1
re += str(t) + ex
case = re
return case
#外围省去
思路正和我说的一样,计数,然后不断拼凑出下一序列,直至所求。