题解 | #MP3光标位置#

MP3光标位置

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

import sys
#光标移动函数
def move1(i:int,s):
    if s == 'U':
        return int(i-1)
    elif s == 'D':
        return int(i+1)
#输入
n , m = int(input()) , input()
#初始化
zuobiao = 1 #光标
ans = {1,}  #用集合表示列表,方便判断光标是否在;列表中
for i in range(2,n+1):
    if i > 4:
        break
    else:
        ans.add(i)

#读取命令
for i in m:
    zuobiao = move1(zuobiao,i)  #移动光标
    #判断光标情况
    if zuobiao < 1 :
        zuobiao = n
    elif zuobiao > n:
        zuobiao = 1
    #判断光标是否在列表里
    if zuobiao not in ans:
        if zuobiao == 1:
            ans = {1,2,3,4}
        elif zuobiao == n:
            ans = {n-3,n-2,n-1,n}
        elif i == 'U':
            ans = {zuobiao,zuobiao+1,zuobiao+2,zuobiao+3}
        elif i == 'D':
            ans = {zuobiao-3,zuobiao-2,zuobiao-1,zuobiao}
#输出列表和光标
ans = sorted(list(ans))
print(' '.join(map(str,ans)))
print(zuobiao)



全部评论

相关推荐

牛客5655:其他公司的面试(事)吗
点赞 评论 收藏
分享
11-27 12:36
已编辑
门头沟学院 前端工程师
Apries:这个阶段来说,很厉害很厉害了,不过写的简历确实不是很行,优势删掉吧,其他的还行
点赞 评论 收藏
分享
头像 会员标识
11-27 17:08
已编辑
牛客_产品运营部_私域运营
腾讯 普通offer 24k~26k * 15,年包在36w~39w左右。
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务