题解 | #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])
}
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务