题解 | #MP3光标位置#

MP3光标位置

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

num = int(input().strip())
str1 = input().strip()
# re = str1.count("U") - str1.count("D")
relistamp = [1]*num
for i in range(1,num+1):
    relistamp[i-1] = i
class windows:
    def __init__(self,listall):
        self.index1 = 0
        self.index2 = self.index1+4
        self.listall = listall
        list1 = self.listall[self.index1:self.index2]
    def change1(self,a):
        self.index1 = a
        self.index2 = a+4
        self.list1 = self.listall[self.index1:self.index2]
    def change2(self,a):
        self.index2 = a
        self.index1 = self.index2-4
        self.list1 = self.listall[self.index1:self.index2]
    def relist(self,a,b):
        self.index1 = a
        self.index2 = b
        self.list1 = self.listall[self.index1:self.index2]
    def dayin(self):
        for i in self.list1:
            print(i,end=" ")
        print()
list1 = windows(relistamp)
index1 = 0
for i in str1:
    if i == 'U':
        index1 -=1
    elif i == 'D':
        index1 +=1
    if index1 == -1:
        index1 = num-1
        list1.relist(num-4,num)
    elif index1 == num:
        index1 = 0
        list1.relist(0,4)
    if index1 < list1.index1:
        list1.change1(index1)
    elif index1 > list1.index2-1:
        list1.change2(index1+1)
list1.dayin()
print(relistamp[index1])
    

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务