def canChoose(self, groups: List[List[int]], nums: List[int]) -> bool:
# 子数组中的元素要连续
n=len(groups)
start=0 #起点 每次匹配的起点
pro=-1 #记录上一个符合的子数组的终点
for i in groups:
flag=True
while flag:
length=len(i)#长度
end=start+length#终点 结束条件
if end > len(nums):return False #如果nums中能够选择的子数组长度小于 那么就表示没有可以选择的了,就返回false
h=nums[start:end]#截取一段列表
if operator.eq(i,h) and start>pro: #比较列表是否相等且起点是否大于上一个终点 判断是否相交
pro=end-1 #赋值终点
flag=False #结束循环
start+=1 #搜索范围+1
return True