跳一跳
这个题比较简单,我用的也是一种比较简单的方法,适用于初学者,就是考虑各种情况:
1.遇到0直接退出
2.遇到1时sum+1
3.先判断遇到2时且是第一次跳:sum+1
4.在判断遇到2时且前一次跳是1时:sum+1
5.最后判断遇到2 ,且前一次也是2,sum+a
这里a的设置是:
起初 a = 2
只要进入1234这四种情况时,a = 2,变成初始值
只有进入5这种情况时,a = a+2
#跳一跳
list1 = list(map(int,input().split()))
sum = 0
a = 2
for i in range(len(list1)):
if list1[i] == 0:
break
elif list1[i] == 1:
sum += 1
a = 2
elif list1[i] == 2 and i == 0:
sum += 2
a = 2
elif list1[i] == 2 and list1[i-1] == 1:
sum += 2
a = 2
elif list1[i] == 2 and list1[i - 1] == 2:
a += 2
sum += a
print(sum)