9.4 网易互娱客户端笔试

这是一篇关于网易互娱客户端笔试的经验分享,主要内容包括一道未完成的题目,一道关于屏幕刷新最少次数的算法题,一道走迷宫的难题,以及一道涉及数组构建的题目。作者认为最后一题思路正确但只通过了20%的测试用例。
摘要由CSDN通过智能技术生成

做了一半图书馆闭馆,我???
第一题

public class Main{
   
    public static void main(String args[]) throws  IOException {
   
        Main main=new Main();
        Scanner cin=new Scanner(System.in);
        int n= cin.nextInt();int m= cin.nextInt();
        int []price=new int[n];
        for(int i=0;i<n;i++)price[i]=cin.nextInt();
        ArrayList<Stack<Integer>>liststack=new ArrayList<>();
        for(int i=0;i<n;i++){
   
            liststack.add(new Stack<>());
        }
       for(int i=0;i<m;i++){
   
           int cz= cin.nextInt();
           int lefttake=0,righttake=0,totaltake=0;
           for(int j=0;j<cz;j++){
   
               String hand= cin.next();
               String caozuo= cin.next();
               if(caozuo.equals("take")||caozuo.equals("return")){
   
                   int pos= cin.nextInt();
                   if(hand.equals("left")&&caozuo.equals("take")){
   
                       if(!liststack.get(pos-1).empty()){
   
                           //如果左手要拿的有之前放回去的,先拿之前放回去的
                           int p=liststack.get(pos-1).pop();
                           lefttake=p;
                           totaltake+=lefttake;
                       }else{
   
                           //如果左手要拿的是空的,那就直接拿
                           lefttake=price[pos-1];
                           totaltake+=lefttake;
                       }
                   }else if(hand.equals("left")&&caozuo.equals("return")){
   
                       //把左手的放到对应的位置,并结算清0
                       liststack
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值