题解 | 【模板】序列操作
【模板】序列操作
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;
}
}
}