# Given a list of ints, return True if the list contains a 3 next to a 3.
想法是,33要连接在一起,所以检查在lst里面如果有3的话,后一个是不是也是3
def has_33(lst):
for index in range(0, len(lst) - 1):
# print(index)
if lst[index] == lst[index + 1] == 3:
return True
return False
print(has_33([1, 5, 7, 3, 3])) # True
print(has_33([3, 3]))
print(has_33([])) # False
print(has_33([4, 3, 2, 1, 0])) # False
这边一开始犯了错
我本来用lst[index] == lst[index-1] == 3:
但这句的状况会发生第一个3和最后一个3也会判定True的情况
Write a function that check if a list contains a subsequence of 007
想法
因为要找007,有两个0一个7
同时 0 0 7的出现顺序可以交错但不能乱跳
满足以上两个条件是True
这题超级丑
想不出好的方法
只好三重套娃
先找7 再找7前面的0 找到0之后再找前面有没有0
如果有两个7以后面的7为优先
和GPT讨论完之后,加看一下影片
变成如果我设三个变量
一个是[0,0,7] 一个是list的index 一个是[0,0,7]的index
当我在查找list index里的数字的时候
每当我的list有一个数字和[0,0,7]的index[0]对应的时候
就纪录,然后两个index都+1
之后找到第3个就可以
https://imgur.com/ExFVg3g.jpg