#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即可,就能很精准的找到了

讨论里有热心哥们说了意义明确的完整题目,务必看一下弄清楚了再做