class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param students int整型vector
* @param sandwiches int整型vector
* @return int整型
*/
int countStudents(vector<int>& students, vector<int>& sandwiches) {
queue<int>st;
stack<int>sa;
int n=students.size();
for(int i=0;i<n;i++)
{
st.push(students[i]);
}
for(int i=n-1;i>=0;i--)
{
sa.push(sandwiches[i]);
}
int refuse=0;//跟踪多少个学生没拿走三明治
while(refuse<st.size())
{
if(sa.top()==st.front())
{
sa.pop();
st.pop();
refuse=0;
}
else
{
int val=st.front();
st.pop();
st.push(val);
refuse++;
}
}
return st.size();
}
};