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

#原始一点点的解法#
原始一点点的解法 文章被收录于专栏

尽量不借助面向对象的思想,自己去实习具体过程

全部评论

相关推荐

03-14 16:04
已编辑
安徽农业大学 算法工程师
痴心的她allin秋...:啥笔试都挂怎么办,某9本考研下岸,练也没时间了,对算法也不感兴趣,大部分大厂笔试只能A0-1个😄
米哈游笔试
点赞 评论 收藏
分享
27届学院本誓死冲击...:自我评价和校园经历全删了,荣誉经历只留奖学金,项目也全得换都不如外卖
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务