a very simple problem
This commit is contained in:
parent
d332a8b675
commit
5b5f172e6b
36
2336-231129-pass/main.cpp
Normal file
36
2336-231129-pass/main.cpp
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
#include<bits/stdc++.h>
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
class SmallestInfiniteSet {
|
||||||
|
public:
|
||||||
|
const int length = 1010;
|
||||||
|
bool nums[1010];
|
||||||
|
SmallestInfiniteSet() {
|
||||||
|
for(int i = 0 ; i <length ;i++) nums[i] = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
int popSmallest() {
|
||||||
|
int i = 1;
|
||||||
|
while(nums[i]==0) i++;
|
||||||
|
nums[i] = 0;
|
||||||
|
return i;
|
||||||
|
}
|
||||||
|
|
||||||
|
void addBack(int num) {
|
||||||
|
nums[num] = 1;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
int main(){
|
||||||
|
SmallestInfiniteSet sol;
|
||||||
|
|
||||||
|
sol.addBack(2);
|
||||||
|
cout<<sol.popSmallest()<<endl;;
|
||||||
|
cout<<sol.popSmallest()<<endl;;
|
||||||
|
cout<<sol.popSmallest()<<endl;;
|
||||||
|
sol.addBack(1);
|
||||||
|
cout<<sol.popSmallest()<<endl;;
|
||||||
|
cout<<sol.popSmallest()<<endl;;
|
||||||
|
cout<<sol.popSmallest()<<endl;;
|
||||||
|
return 0;
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user