算法标签 数组模拟

题目描述

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

思路

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

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);
*/

[LeetCode]5430. 设计浏览器历史记录_数组_02