题解 | 队列消数

队列消数

https://www.nowcoder.com/practice/48f6e451ff52440798067b77dc5ea95b

//思路:;另外建立一个对照队列与实验队列同步操作,只有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;
    }
}

全部评论

相关推荐

合适才能收到offe...:招聘上写这些态度傲慢的就别继续招呼了,你会发现hr和面试官挺神的,本来求职艰难就可能影响一些心态了,你去这种公司面试的话,整个心态会炸的。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务