题解 | MP3光标位置

MP3光标位置

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

#include <iostream>
#include <string>
#include <algorithm>

using namespace std;

int main() {
    int n;
    string commands;
    while (cin >> n >> commands) {
        int num = 1;//选中的歌曲
        int win_b = 1;//页面的起始
        int win_e = min(4, n); //页面的末位置
        for (int i = 0; i < commands.size(); i++) {
            if (commands[i] == 'U') { //向上移动一格
                num = (num - 1 - 1 + n) % n + 1;
            } else if (commands[i] == 'D') { //向下移动一格
                num = num % n + 1;
            }
            if (num < win_b) { //如果当前歌曲在窗口前,则将窗口往前移动
                win_b = num;
                win_e = win_b + 3;
            } else if (num >
                       win_e) { //如果当前歌曲在窗口后,则将窗口往后移动
                win_e = num;
                win_b = win_e - 3;
            }
        }
        for (int i = win_b; i <= win_e; i++) { //输出当前页面
            cout << i << ' ';
        }
        cout << endl;
        cout << num << endl;//输出选中的歌曲
    }
    return 0;
}



全部评论

相关推荐

叶扰云倾:进度更新,现在阿里云面完3面了,感觉3面答得还行,基本都答上了,自己熟悉的地方也说的比较细致,但感觉面试官有点心不在焉不知道是不是不想要我了,求阿里收留,我直接秒到岗当阿里孝子,学校那边的房子都退租了,下学期都不回学校,全职猛猛实习半年。这种条件还不诱人吗难道 然后现在约到了字节的一面和淘天的复活赛,外加猿辅导。华为笔试完没动静。 美团那边之前投了个base广州的,把我流程卡麻了,应该是不怎么招人,我直接简历挂了,现在进了一个正常的后端流程,还在筛选,不知道还有没有hc。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务