题解 | #MP3光标位置#
MP3光标位置
https://www.nowcoder.com/practice/eaf5b886bd6645dd9cfb5406f3753e15
const rl = require("readline").createInterface({ input: process.stdin });
var iter = rl[Symbol.asyncIterator]();
const readline = async () => (await iter.next()).value;
void (async function () {
// Write your code here
let a = parseInt(await readline());
let b = await readline();
let op = b.split("");
let currentList = [1, 2, 3, 4];
let current = 1;
let length = a;
if (length >= 4) {
for (let i = 0; i < op.length; i++) {
if (op[i] == "U") {
if (current == 1) {
current = length;
currentList = [
current - 3,
current - 2,
current - 1,
current,
];
} else {
current--;
if (!currentList.includes(current)) {
currentList = currentList.map((item) => item - 1);
}
}
} else if (op[i] == "D") {
if (current == length) {
current = 1;
currentList = [1, 2, 3, 4];
} else {
current++;
if (!currentList.includes(current)) {
currentList = currentList.map((item) => item + 1);
}
}
}
}
} else {
currentList = [];
for (let m = 1; m <= length; m++) {
currentList.push(m);
}
for (let i = 0; i < op.length; i++) {
if (op[i] == "U") {
if (current == 1) {
current = length;
} else {
current--;
}
} else if (op[i] == "D") {
if (current == length) {
current = 1;
} else {
current++;
}
}
}
}
console.log(currentList.join(" "));
console.log(current);
})();
查看12道真题和解析
字节跳动公司福利 1383人发布