题解 | #MP3光标位置#

MP3光标位置

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

重点在于不仅要更改光标位置pos,还要记录当前屏幕顶部歌曲序号top,把U 
和 D的操作封装成函数,更改光标位置和顶部歌曲序号,然后返回新的
pos 和top,按向上键top与pos相同的时候需要改变(特殊情况:pos==1),
向下pos等于pos+3或者pos等于n的时候需要改变(n不一定是4
的整数倍),细节方面,歌曲数量小于等于3首的话不需要改变top
def U(pos,top):
    if n>=4:
        if top == pos:
            top = n-3 if pos==1 else top-1
    return (n if pos==1 else pos-1,top)
def D(pos,top):
    if n>=4:
        if pos==n:
            top = 1
        elif pos == top+3:
            top += 1
    return (1 if pos==n else pos+1,top)

n = int(input())
orders = input()
pos = 1
top = 1
for o in orders:
    if o == 'U':
        pos,top = U(pos,top)
    else:
        pos,top = D(pos,top)

print(' '.join(list(map(str,list(range(top,n+1 if n<4 else top+4))))))
print(pos)



全部评论

相关推荐

07-03 16:02
门头沟学院 Java
今天面试,非常紧张,面试官问我springboot有哪些核心模块都答不上来了,真的对自己无语了!
程序员小白条:28届我勒个去,很多人面试都没机会
查看1道真题和解析
点赞 评论 收藏
分享
代码飞升:别用口语,后端就写后端,前端就写前端,最后别光后悔
点赞 评论 收藏
分享
_mos_:我以为手抄报简历就已经很顶了,没想到还有表格简历
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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