481. 神奇字符串
前三个书已经固定,对于后面的数字,采用双指针法,
一个指针(i)指向要向数组插入的新的值的个数,
指针(j)指向当前数组的末尾,
如果nums[j-1] == 1则添加nums[i]个2,
否则添加num[i]个1,当添加1时,使用count实时统计1的个数
class Solution:
def magicalString(self, n: int) -> int:
s = [1,2,2]
count = 1
i,j = 2,2
if n <= 3:
return 1
while j<=(n-2):
if s[j] == 2:
s += [1] * s[i]
if j == n-2:
count+=1
else:
count+=s[i]
else:
s +=[2]*s[i]
j+=s[i]
i+=1
return count