360第二题,忘记双端队列,自己手写了一个

package com.kuang.demo01;

import java.util.Scanner;

public class Main {

    static class ListK{
        int val;
        ListK pre;
        ListK next;
        public ListK(){
        }
        public ListK(int val){
            this.val = val;
        }
    }

    static ListK head = new ListK();
    static ListK nail = new ListK();

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        while(in.hasNext()){
            int n = in.nextInt();
            int m = in.nextInt();
            ListK headp = head;
            for(int i = 1 ; i <= n; i++){
                ListK newNode = new ListK(i);
                headp.next = newNode;
                newNode.pre = headp;
                headp = newNode;
            }

            headp.next = nail;
            nail.pre = headp;
            int mcount = 0;
            for(int i = 0 ;i < m; i++){
                int op = in.nextInt();

                if(op == 1){
                    if(mcount != 0){
                        if(mcount % 2 == 0){

                        }else{
                            headp = head.next;
                            while(headp != nail){
                                int tempVal = headp.val;

                                headp.val = headp.next.val;
                                headp.next.val = tempVal;
                                headp = headp.next.next;
                            }
                        }
                        mcount = 0;

                    }else{

                    }
                    ListK moveNode = head.next;
                    head.next.next.pre = head;
                    head.next = head.next.next;

                    nail.pre.next = moveNode;
                    moveNode.pre = nail.pre;
                    moveNode.next = nail;
                    nail.pre = moveNode;

                }else{
                    mcount ++;
                }
            }
            if(mcount != 0){
                if(mcount % 2 == 0){

                }else {
                    headp = head.next;
                    while (headp != nail) {
                        int tempVal = headp.val;

                        headp.val = headp.next.val;
                        headp.next.val = tempVal;
                        headp = headp.next.next;
                    }
                }
            }
            head = head.next;
            while(head != nail){
                System.out.print(head.val+" ");
                head = head.next;
            }
            System.out.println();

        }
    }
}

#笔试题目##笔经##校招##360公司#
全部评论
忘记说了,TLE了,只过了55%
点赞 回复 分享
发布于 2020-08-22 23:36

相关推荐

Southyeung:我说一下我的看法(有冒犯实属抱歉):(1)简历不太美观,给我一种看都不想看的感觉,感觉字体还是排版问题;(2)numpy就一个基础包,机器学习算法是什么鬼?我感觉你把svm那些写上去都要好一点。(2)课程不要写,没人看,换成获奖经历;(3)项目太少了,至少2-3个,是在不行把网上学习的也写上去。
点赞 评论 收藏
分享
zYvv:双一流加大加粗再标红,然后广投。主要是获奖荣誉不够,建议开始不用追求大厂,去别的厂子刷下实习。
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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