#include <queue>
class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param tickets int整型vector
* @param k int整型
* @return int整型
*/
int timeRequiredToBuy(vector<int>& tickets, int k) {
queue<int> t;
int tim=0;
for (int i=0; i<tickets.size(); ++i) {
t.push(i);
}
bool flag=true;
int index=0;
while (flag) {
tim++;
if (tickets[t.front()]>1) {
tickets[t.front()]=tickets[t.front()]-1;
index = t.front();
cout<<t.front();
t.pop();
t.push(index);
} else {
if (t.front()==k) {
flag=false;
}
cout<<t.front();
t.pop();
}
}
cout<<t.front();
return tim;
}
};
对于自己由一个经常犯的错误是,总是把判断大小写在了下标里面,“tickets[t.front()>1]”这样是错的,应该是“tickets[t.front()]>1”。>1应该在中括号外面。

京公网安备 11010502036488号