题解 | #MP3光标位置#
MP3光标位置
https://www.nowcoder.com/practice/eaf5b886bd6645dd9cfb5406f3753e15
n = int(input())
s = input()
#当歌曲数目小于4时,当前页的包含的歌曲序号就为0到t-1。
t = n if n < 4 else 4
#page1代表当前页的起始下标,page2是结束下标。初始页包含0到t-1序号的歌曲
page1 = 0
page2 = t-1
#pre为当前光标所指歌曲的序号,初始为0
pre = 0
for i in s:
if i == 'U':
pre -= 1
#代表页跳转到底部
if pre < 0:
pre = n-1
page1 = n-t
page2 = n-1
#光标指示的歌曲序号,不在当前页,则当前页整体上移。当光标所指歌曲在当前页中,页不需要变动
elif pre < page1:
page1 -= 1
page2 -= 1
else:
pre += 1
if pre == n:
pre = 0
page1 = 0
page2 = t-1
elif pre > page2:
page1 += 1
page2 += 1
page = [str(i) for i in range(page1+1,page2+2)]
print(' '.join(page))
print(pre+1)
#原始一点点的解法#原始一点点的解法 文章被收录于专栏
尽量不借助面向对象的思想,自己去实习具体过程
360集团公司福利 405人发布

