题解 | #MP3光标位置#

MP3光标位置

https://www.nowcoder.com/practice/eaf5b886bd6645dd9cfb5406f3753e15

n=int(input())
str1=input()  # U或者D

key=1   # 代表光标的位置
list1=[]        # 代表屏幕当前的显示的状态,

if n<=3 :
    for i in range(n):
        list1.append(i+1)
else:
    list1=[1,2,3,4]

if n <=4:
    for i in str1:
        if i=='U':
            if key==1:
                key=n
            else:
                key=key-1
        elif i=='D':
            if key==n:
                key=1
            else:
                key=key+1
else:
    for i in str1:
        if i=='U':
            if key==1:
                key=n
                list1=[n-3,n-2,n-1,n]
            else:
                key=key-1
                if key not in list1:            # 如果检测到光标不在不在当前屏幕了,就要平移屏幕
                    for jj in range(4):
                        list1[jj]=list1[jj]-1
        elif i=='D':
            if key==n:
                key=1
                list1=[1,2,3,4]
            else:
                key=key+1
                if key not in list1:
                    for jj in range(4):
                        list1[jj]=list1[jj]+1


for p in range(len(list1)):
    list1[p]=str(list1[p])


print(' '.join(list1))
print(key)

全部评论

相关推荐

鬼迹人途:你去投一投尚游游戏,服务器一面,第一个图算法,做完了给你一个策略题,你给出方案他就提出低概率问题,答不上当场给你挂
点赞 评论 收藏
分享
流浪的神仙:无恶意,算法一般好像都得9硕才能干算法太卷啦
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务