Skip to content

Commit

Permalink
Create 2349. Design a number container system
Browse files Browse the repository at this point in the history
  • Loading branch information
dishathakurata authored Feb 8, 2025
1 parent 49cf22c commit de779e0
Showing 1 changed file with 40 additions and 0 deletions.
40 changes: 40 additions & 0 deletions 2349. Design a number container system
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
//2349. Design a number container system

import java.util.NoSuchElementException;

class NumberContainers {
Map<Integer, Integer> map;
Map<Integer, SortedSet<Integer>> valIdx;

public NumberContainers() {
map = new HashMap<>();
valIdx = new HashMap<>();
}

public void change(int index, int number) {
if(!valIdx.containsKey(number)) {
valIdx.put(number, new TreeSet<>());
}

if(map.containsKey(index)) {
int prevVal = map.get(index);
valIdx.get(prevVal).remove(index);
}

valIdx.get(number).add(index);
map.put(index, number);
}

public int find(int number) {
if(valIdx.containsKey(number)) {
try {
return valIdx.get(number).first();
}
catch(NoSuchElementException e) {
return -1;
}
}

return -1;
}
}

0 comments on commit de779e0

Please sign in to comment.