题解 | #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);