//思路:;另外建立一个对照队列与实验队列同步操作,只有k索引下的是1,其他全是0 //while条件设置为看对照队列的1是否存在; import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param tickets int整型一维数组 * @param k int整型 * @return int整型 */ public int timeRequiredToBuy (int[] tickets, int k) { Queue<Integer> q=new LinkedList<>(); Queue<Integer> containsQ=new LinkedList<>(); for(int i=0;i<tickets.length;i++){ q.offer(tickets[i]); if(i==k){ containsQ.offer(1); }else{ containsQ.offer(0); } } int sum=0; while(containsQ.contains(1)){ sum++; if(q.peek()==1){ q.remove(); containsQ.remove(); }else{ int temp=q.peek()-1; q.remove(); q.offer(temp); int temp1=containsQ.peek(); containsQ.remove(); containsQ.offer(temp1); } } return sum; } }