1
0
Fork 0
mirror of https://gitlab.com/mfocko/LeetCode.git synced 2024-11-09 15:59:06 +01:00

cs: add “2336. Smallest Number in Infinite Set”

Signed-off-by: Matej Focko <mfocko@redhat.com>
This commit is contained in:
Matej Focko 2024-01-07 20:13:10 +01:00
parent 4cca12685d
commit 37e383c221
Signed by: mfocko
GPG key ID: 7C47D46246790496

View file

@ -0,0 +1,35 @@
public class SmallestInfiniteSet {
private SortedSet<int> smaller;
private int nextInfinite;
public SmallestInfiniteSet() {
smaller = new SortedSet<int>();
nextInfinite = 1;
}
public int PopSmallest() {
var m = smaller.Min;
if (m != 0) {
smaller.Remove(m);
return m;
}
++nextInfinite;
return nextInfinite - 1;
}
public void AddBack(int num) {
if (num >= nextInfinite) {
return;
}
smaller.Add(num);
}
}
/**
* Your SmallestInfiniteSet object will be instantiated and called as such:
* SmallestInfiniteSet obj = new SmallestInfiniteSet();
* int param_1 = obj.PopSmallest();
* obj.AddBack(num);
*/