题解 | MP3光标位置

num = int(input())
command = input()
first_index = 1#相对于全部歌曲的索引
cursor_index = 1#相对于当前页面歌曲的索引
a = 0#用于限制后面输出索引的时候超出限制
result = []#存放结果
if num <5:#只有一页
    for i in command:
        if i == 'U':
            if cursor_index == 1:
                cursor_index = num
            else:
                cursor_index -= 1
        if i == 'D':
            if cursor_index == num:
                cursor_index = 1
            else:
                cursor_index += 1
else:#有多页
    for i in command:
        if i == 'U':
            #当全部位于第一个索引时
            if cursor_index == 1 and first_index == 1:
                cursor_index = 4
                first_index = num-3
            #只当光标位于当前页面第一个时
            elif cursor_index == 1:
                first_index -= 1
            #普通情况,光标不是第一个也不是最后一个,向上不会变动first_index
            else:
                cursor_index -= 1
        if i == 'D':
            #当全部位于最后一个索引时
            if cursor_index == 4 and first_index == num-3:
                cursor_index = 1
                first_index = 1
            #只当光标位于当前页面最后一个时
            elif cursor_index == 4:
                first_index +=1
            #普通情况,光标不是第一个也不是最后一个,向下不会变动first_index
            else:
                cursor_index += 1


for i in range(first_index,first_index+num):
    print(i,end=' ')
    a+=1
    result.append(i)
    if a==4:
        break
print()
print(result[cursor_index-1])

全部评论

相关推荐

06-12 16:23
已编辑
小米_软件开发(准入职员工)
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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