※ 引述 《sustainer123 (caster)》 之铭言:
:
: https://leetcode.com/problems/number-of-students-unable-to-eat-lunch
:
: 1700. Number of Students Unable to Eat Lunch
:
: 齁楼提供PM跟MC两种贴贴 分别用0跟1表示
:
: 全部齁粉站在一queue 每个齁粉喜欢PM或MC
:
: 贴贴数量与齁粉数量相等 贴贴被放在一stack
:
: 如果queue前面的齁粉喜欢stack顶端的贴贴 他会拿走贴贴
: 否则他会放下贴贴并回到queue最后面
:
: 循环反复 直至剩下的齁粉都不想拿stack最顶端的贴贴 他们就会去公园
:
: 请回传公园民的数量
:
解法思路 :
照着题目要求的做
欸欸我leetcode point 2400了欸
这个要换什么比较好
有人有换过东西吗
好像可以炫耀欸
class Solution {
public:
int countStudents(vector<int>& students, vector<int>& sandwiches)
{
int wp = 0;
int sp = 0;
int one = 0;
int zero = 0;
int len = students.size();
int lens = sandwiches.size();
for(int k : students)
{
if(k)one ++;
else zero ++;
}
int ok = 1;
int hungry = len ;
while(wp < lens)
{
if(sandwiches[wp] == 1)
{
if(one == 0)return hungry;
while(students[sp%len] != 1)
{
sp ++;
}
students.erase( students.begin()+sp%len );
len