Day 24
Date: October 19, 2022 11:40 AM
LinkedIn: https://leetcode.cn/problems/number-of-students-unable-to-eat-lunch/description/
Title: 无法吃午餐的学生数量
模拟栈
class Solution:
def countStudents(self, students: List[int], sandwiches: List[int]) -> int:
flag = 0
while len(sandwiches): # 遍历三明治
if students[0] == sandwiches[0]: # 喜欢他的学生 三明治和学生都出栈
sandwiches.pop(0) # pop()默认删除list最后一个元素
students.pop(0)
else:
flag = len(students) # 剩余未放弃的学生
while flag: # 第一个不喜欢,遍历后续的学生
flag -= 1
s = students[0]
students.pop(0)
students.append(s) # 放弃的学生入到队列后方
if students[0] == sandwiches[0]:# 判断是否拿走
sandwiches.pop(0)
students.pop(0)
flag = -1
break # 有人拿走打破循环
if flag == 0: # 所有人都不喜欢栈顶的三明治
return len(students)
return 0