Using Hashmap of priorityqueue(min heap) || TWO Map Easy Solution✔✔
Code
# Code
```cpp []
class NumberContainers {
public:
    map<int,int>mp;
    map<int, priority_queue<int, vector<int>, greater<> >>idx;
    
    NumberContainers() {}
    
    void change(int index, int number) {
        mp[index] = number;
        idx[number].push(index);
    }
    
    int find(int number) {
        while(!idx[number].empty()){
            if(mp[idx[number].top()]!=number){
                idx[number].pop();
            }
            else{
                return idx[number].top();
            }
        }
         return -1;
    }
};

/**
 * Your NumberContainers object will be instantiated and called as such:
 * NumberContainers* obj = new NumberContainers();
 * obj->change(index,number);
 * int param_2 = obj->find(number);
 */
```
['Hash Table', 'Design', 'Heap (Priority Queue)', 'Ordered Set', 'C++']