class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param tickets int整型vector
* @param k int整型
* @return int整型
*/
//结果:重复某过程直到指定索引上的元素被移除,该过程是
//类似于排队买票,买多张票的人取走一张,然后到队尾继续排队,只要一张票的人买到了就可以直接走,题目要的是指定人买完票所需的时间
//解题方法:tickets表示每个人票数,k表示指定的下标
int timeRequiredToBuy(vector<int>& tickets, int k) {
// write code here
int time = 0;
queue<int> q;
int n = tickets.size();
for (int i = 0; i < n; i++){
q.push(i);
}
while(!q.empty()) {
int cur = q.front();
q.pop();//取出
time++;
if ( tickets[cur] == 1){
if( cur == k){
return time;
}
}else{
tickets[cur]--;
q.push(cur);
}
}
return 0;
}
};