题解 | 【模板】序列操作

【模板】序列操作

https://www.nowcoder.com/practice/12da4185c0bb45918cfdc3072e544069

import java.util.Scanner;
import java.util.Arrays;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int q = in.nextInt();
        in.nextLine();
        int[] ans = new int[7*1000];
        int[] k = new int[1];
        for(int i = 0 ; i < q ; i++){
            String line = in.nextLine();
            String[] parts = line.split(" ");
            int a = Integer.parseInt(parts[0]);
            int b = 0, c = 0;
            if(a==1||a==3||a==4) b = Integer.parseInt(parts[1]);
            if(a==4) c = Integer.parseInt(parts[2]);
            operateArgs(ans,a,b,c,k);
        }
    }
    private static void operateArgs(int[] ans, int a, int b, int c, int[] k){
        switch(a){
            case 1:
                ans[k[0]] = b;
                k[0]++;
                break;
            case 2:
                if(k[0]>0) ans[k[0]] = 0;
                k[0]--;
                break;
            case 3:
                System.out.println(ans[b]);
                break;
            case 4:
                int s = ans[b+1];
                ans[b+1] = c;
                for(int i = b+2; i < k[0]+1; i++){
                    int x = ans[i];
                    ans[i] = s;
                    s = x;
                }
                k[0]++;
                break;
            case 5:
                Arrays.sort(ans,0,k[0]);
                break;
            case 6:
                Arrays.sort(ans,0,k[0]);
                for(int i=0;i<k[0]/2;i++){
                    int j = ans[i];
                    ans[i] = ans[k[0]-i-1];
                    ans[k[0]-i-1] = j;
                }
                break;
            case 7:
                System.out.println(k[0]);
                break;
            case 8:
                for(int i=0;i<k[0];i++){
                    System.out.print(ans[i]);
                    if(i!=k[0]-1) System.out.print(" ");
                }
                System.out.println();
                break;
        }
    }
}

全部评论

相关推荐

点赞 评论 收藏
分享
03-12 09:24
已编辑
复旦大学 C++
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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