题解 | #MP3光标位置#
看题目看了半天,写代码写了半天,一天就这么过去了,我是不是不适合当程序员。。
let n = +readline();
let s = readline();
let index = 1, res = [];
for(let i = 0; i < s.length; i++) {
let key = s[i];
if(n <= 4) {
if(key == 'U') {
if(index == 1) {
index = n;
} else {
index = index - 1;
}
}
if(key == 'D') {
if(index == n) {
index = 1;
} else {
index = index + 1;
}
}
res = getStr(1, n);
}
if(n > 4) {
if(key == "U") {
if(index == 1) {
index = n;
res = getStr(n - 3, n);
} else {
if(!isFirstPage() && isFirstIndex(index)) {
index = index - 1;
res = getStr(index, index + 3);
} else {
index = index - 1;
}
}
}
if(key == "D") {
if(index == n) {
index = 1;
res = getStr(1, 4);
} else {
if(isLastIndex(index)) {
index = index + 1;
res = getStr(index - 3, index);
} else {
index = index + 1;
}
}
}
}
}
function isFirstPage() {
return res[res.length - 1] == 4 ? true : false;
}
function isFirstIndex(index) {
return index == res[0] ? true : false;
}
function isLastIndex(index) {
return index == res[res.length - 1] ? true : false;
}
function getStr(start, end) {
let arr = [];
for(let i = start; i <= end; i++) {
arr.push(i)
}
return arr;
}
console.log(res.join(' '));
console.log(index);

查看11道真题和解析