every blog every motto: You will never know unless you try
0. 前言
冲冲冲
1. 字符串
1.1 题目
1.2 代码
class Solution:
def magicalString(self, n: int) -> int:
# 初始情况
if n == 0:
return 0
elif n <= 3:
return 1
# 模型生成字符串
strs = '122'
flag = True # T:1,F:2
for i in range(2, n):
num_time = int(strs[i]) - 0 # 当前字符的数值,即接下来字符出现的次数
while num_time > 0:
if flag:
strs += '1'
else:
strs += '2'
num_time -= 1
# 因为1和2是交替出现的,所以改变flag
flag = not flag
# 再次遍历
result = 0
for i in range(n):
if strs[i] == '1':
result += 1
return result