题解 | #MP3光标位置#
MP3光标位置
https://www.nowcoder.com/practice/eaf5b886bd6645dd9cfb5406f3753e15
const readline = require("readline");
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
// 保存歌曲數量
let num = 0;
// 保存操作命令
let arr = [];
let row = 0;
// 记录当前移动到的歌曲
let cur = 1;
let curList = [];
rl.on("line", function (line) {
row++;
if (row === 1) {
num = Number(line);
// 初始化当前列表
if(num < 4){
for(let i = 1; i <= num; i++){
// 保存
curList.push(i)
}
}else {
curList = [1,2,3,4]
}
} else {
arr = line.split("");
for (let c of arr) {
if (c === "U") {
if (cur === 1) {
cur = num;
// 特殊翻页
if(num > 4) curList = [num-3,num-2,num-1,num]
} else {
cur--;
if (!curList.includes(cur)) {
// 普通翻页
curList.pop();
curList.unshift(cur);
}
}
} else {
if (cur === num) {
cur = 1;
// 特殊翻页
if(num > 4) curList = [1, 2, 3, 4]
} else {
cur++;
if (!curList.includes(cur)) {
// 普通翻页
curList.shift();
curList.push(cur);
}
}
}
}
console.log(curList.join(' '));
console.log(cur);
}
});
