#include <queue>
class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param tickets int整型vector
* @param k int整型
* @return int整型
*/
int timeRequiredToBuy(vector<int>& tickets, int k) {
queue<int> p;
tickets[k] +=1000;
for(int i=0;i<tickets.size();i++)
{
p.push(tickets[i]);
}
int time = 0;
while(!p.empty()){
if(p.front()==1){
time++;
p.pop();
}else if(p.front()!=1 && p.front()!=1001){
int temp = p.front()-1;
p.pop();
p.push(temp);
time++;
}else if(p.front()==1001){
time++;
break;
}
}
return time;
}
};
处理数组的时候,直接给要标记的那项猛加1000即可,就能很精准的找到了
讨论里有热心哥们说了意义明确的完整题目,务必看一下弄清楚了再做

京公网安备 11010502036488号