MCPcopy Index your code
hub / github.com/neetcode-gh/leetcode / remove

Method remove

java/0380-insert-delete-getrandom-o1.java:24–43  ·  view source on GitHub ↗
(int val)

Source from the content-addressed store, hash-verified

22 }
23
24 public boolean remove(int val) {
25 if(!this.indexing.containsKey(val)) {
26 return false;
27 }
28
29 int lastIndex = this.numbers.size() - 1;
30 int lastElement = this.numbers.get(lastIndex);
31 int indexElement = this.indexing.get(val);
32
33 // Swap with last element
34 this.numbers.set(indexElement, lastElement);
35
36 // Update indices [Add & Delete]
37 this.indexing.put(lastElement, indexElement);
38 this.indexing.remove(val);
39
40 // Remove from list
41 this.numbers.remove(lastIndex);
42 return true;
43 }
44
45 public int getRandom() {
46 int randomIndex = (int) (Math.random() * this.numbers.size());

Callers

nothing calls this directly

Calls 4

sizeMethod · 0.45
getMethod · 0.45
setMethod · 0.45
putMethod · 0.45

Tested by

no test coverage detected