题解 | #MP3光标位置#
MP3光标位置
https://www.nowcoder.com/practice/eaf5b886bd6645dd9cfb5406f3753e15
const num = Number(readline());
const cmds = Array.from(readline());
const list = new Array(num).fill(0).map((item, index)=> index+1);
let currentIndex = 0;
let currentPage = list.slice(0,4);
while(cmds.length) {
const cmd = cmds.splice(0, 1)[0];
if(cmd === 'U') {
currentIndex = currentIndex === 0 ? num - 1 : currentIndex - 1;
if(list[currentIndex] < currentPage[0]) {
currentPage.pop();
currentPage.unshift(list[currentIndex])
} else if(list[currentIndex] > currentPage[3]) {
currentPage = list.slice(num - 4, num);
}
} else if(cmd === 'D') {
currentIndex = num-1 === currentIndex ? 0 : currentIndex + 1;
if(list[currentIndex] > currentPage[3]) {
currentPage.shift();
currentPage.push(list[currentIndex]);
} else if(list[currentIndex] < currentPage[0]) {
currentPage = list.slice(0,4);
}
}
}
console.log(currentPage.join(' '));
console.log(currentIndex+1)
