题解 | #MP3光标位置#
MP3光标位置
https://www.nowcoder.com/practice/eaf5b886bd6645dd9cfb5406f3753e15
import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n = in.nextInt();
char[]ops = in.next().toCharArray();
int left = 0, right = Math.min(3, n-1), pointer = 0;
int[]arr = new int[n];
for (int i = 1; i <= arr.length; i++) {
arr[i - 1] = i;
}
for (char op : ops) {
if(arr.length<=4) {
pointer = (pointer + (op=='U'?-1:1)) % arr.length;
continue;
}
if (op == 'U') {
if (pointer == 0) {
pointer = arr.length - 1;
left = arr.length - 4;
right = arr.length - 1;
} else {
if (pointer == left) {
left--;
right--;
}
pointer--;
}
} else if (op == 'D') {
if (pointer == arr.length - 1) {
pointer = 0;
left = 0 ;
right = 3;
} else {
if (pointer == right) {
left++;
right++;
}
pointer++;
}
}
}
for (int i = left; i <= right; i++) {
System.out.print(arr[i] + ((i<right)?" ":""));
}
System.out.println("\n" + arr[pointer]);
}
}

