题解 | #MP3光标位置#
MP3光标位置
http://www.nowcoder.com/practice/eaf5b886bd6645dd9cfb5406f3753e15
while(total = ~~readline()) {
const actions = readline().split("");
const totalArr = new Array(total).fill(0).map((_,idx) => idx + 1);
const len = totalArr.length;
let cur = totalArr.slice(0, 4);
let curIdx = 0;
actions.forEach(ac => {
switch(ac) {
case 'U':
if(curIdx === 0 && len > 4) {
// 尾部四首,下标为尾部
cur = totalArr.slice(-4);
curIdx = len - 1;
} else if(len > 4 && cur[0] === curIdx + 1) {
cur = totalArr.slice(curIdx - 1, curIdx + 3);
curIdx--;
} else {
curIdx--;
if(curIdx < 0) curIdx = len-1;
}
break;
default:
if(curIdx === len - 1 && len > 4) {
cur = totalArr.slice(0, 4);
curIdx = 0;
} else if(len > 4 && cur[3] === curIdx + 1) {
cur = totalArr.slice(cur[0], cur[0] + 4);
curIdx++;
} else {
curIdx++;
if(curIdx === len) curIdx = 0;
}
}
})
console.log(cur.join(" "))
console.log(totalArr[curIdx])
}