LeetCode Weekly Contest 148
問題文
省略
省略
C++に変換後のコードはこちら
#define main dummy_main
{}
#undef main
class SnapshotArray {
public:
vector<int> v[50000], t[50000];
int cur;
SnapshotArray(int length) {
int i;
cur = 0;
rep(i,length) v[i].push_back(0);
rep(i,length) t[i].push_back(0);
}
void set(int index, int val) {
if(t[index][t[index].size()-1] == cur){
v[index][v[index].size()-1] = val;
} else {
v[index].push_back(val);
t[index].push_back(cur);
}
}
int snap() {
return cur++;
}
int get(int index, int snap_id) {
int i;
i = upper_bound(t[index].begin(), t[index].end(), snap_id) - t[index].begin();
return v[index][i-1];
}
};
Current time: 2024年04月26日08時17分45秒
Last modified: 2019年08月10日17時06分16秒 (by laycrs)
Tags: Competitive_Programming_Incomplete LeetCode
トップページに戻る
Logged in as: unknown user (not login)