MCPcopy Create free account
hub / github.com/Tiwarishashwat/InterviewCodes / dec

Method dec

AllOoneDataStructure.java:50–77  ·  view source on GitHub ↗
(String key)

Source from the content-addressed store, hash-verified

48 }
49
50 public void dec(String key) {
51 Node cur = map.get(key);
52 int newFreq = cur.freq - 1;
53 cur.keys.remove(key);
54 if(newFreq == 0){
55 if(cur.keys.size()==0){
56 removeNode(cur);
57 }
58 map.remove(key);
59 return;
60 }
61
62 if(cur.prev.freq == newFreq){
63 cur.prev.keys.add(key);
64 }else{ // insert a node with newFreq
65 Node node = new Node(newFreq);
66 node.keys.add(key);
67 Node prevNode = cur.prev;
68 node.prev = prevNode;
69 prevNode.next = node;
70 node.next = cur;
71 cur.prev = node;
72 }
73 map.put(key, cur.prev);
74 if(cur.keys.size()==0 && cur!=head){
75 removeNode(cur);
76 }
77 }
78
79 public String getMaxKey() {
80 if(tail.prev == head){

Callers

nothing calls this directly

Calls 2

removeNodeMethod · 0.95
addMethod · 0.45

Tested by

no test coverage detected