[LeetCode]5430. 设计浏览器历史记录 原创

算法标签 数组模拟

题目描述

在这里插入图片描述

思路

模拟整个过程
最重要的似乎就是拆分成数组模拟的思路

AC代码

class BrowserHistory {
public:
    int idx=0;
    string str[5000+10];
    int Max=0;
    BrowserHistory(string homepage) {
        str[idx]=homepage;
    }
    
    void visit(string url) {
        str[++idx]=url;
        Max=idx;
    }
    
    string back(int steps) {
        if(idx-steps<=0){idx=0;return str[0];}
        else {idx-=steps;return str[idx];}
    }
    
    string forward(int steps) {
        if(idx+steps>=Max){idx=Max;return str[Max];}
        else {idx+=steps;return str[idx];}
    }
};

/**
 * Your BrowserHistory object will be instantiated and called as such:
 * BrowserHistory* obj = new BrowserHistory(homepage);
 * obj->visit(url);
 * string param_2 = obj->back(steps);
 * string param_3 = obj->forward(steps);
 */

在这里插入图片描述

posted @ 2022-07-14 18:00  俺叫西西弗斯  阅读(0)  评论(0)    收藏  举报  来源