题解 | #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)#原始一点点的解法#
原始一点点的解法 文章被收录于专栏
尽量不借助面向对象的思想,自己去实习具体过程