题解 | #MP3光标位置#

MP3光标位置

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

#应该是栈的使用,进一个出一个。当前播放歌曲好判断,难处在于列表该如何输出。在大于4的情况下需要考虑栈的输入输出。
w = int(input())
n = input()
wq = 1
if w > 4:
    b = [1, 2, 3, 4]
    for i in range(len(n)):
        if n[i] == 'U' and wq == 1:
            wq = w
            b = [w-3, w-2, w-1, w]
        elif n[i] == 'U' and wq != 1:
            wq = wq - 1
            if wq + 1 == b[0]:
                b.pop(-1)
                b.insert(0, wq)
        elif n[i] == 'D' and wq == w:
            wq = 1
            b = [1, 2, 3, 4]
        elif n[i] == 'D' and wq != w:
            wq = wq + 1
            if wq - 1 == b[-1]:
                b.pop(0)
                b.append(wq)

    a = list(map(str,b))
    print(' '.join(a))
    print(wq)
else:
    b = [i for i in range(1, w+1)]
    for i in range(len(n)):
        if n[i] == 'U' and wq == 1:
                wq = w
        elif n[i] == 'U' and wq != 1:
            wq = wq - 1
        elif n[i] == 'D' and wq == w:
            wq = 1
        elif n[i] == 'D' and wq != w:
                wq = wq + 1
    a = list(map(str,b))
    print(' '.join(a))
    print(wq)
全部评论

相关推荐

那一天的Java_J...:他本来公司就是做这个的,不就是正常的游戏客户端和服务器开发,软硬件联动,有啥恶心不恶心的,提前告诉你就是怕你接受不了,接受不了就没必要再往后走流程浪费时间,虽然这公司是一坨。
点赞 评论 收藏
分享
机械打工仔:我来告诉你原因,是因为sobb有在线简历,有些HR为了快会直接先看在线简历,初步感觉不合适就不会找你要详细的了
投了多少份简历才上岸
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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