Missing Numbers

Sort by

recency

|

1241 Discussions

|

  • + 0 comments

    Here is my c++ solution, you can watch the explanation here : https://youtu.be/6AXUA5_XwUw

    vector<int> missingNumbers(vector<int> arr, vector<int> brr) {
        map<int, int> mp;
        for(int i = 0; i < brr.size(); i++) mp[brr[i]]++;
        for(int i = 0; i < arr.size(); i++) mp[arr[i]]--;
        map<int, int>::iterator it;
        vector<int> result;
        for(it = mp.begin(); it != mp.end(); it++)
            if(it->second > 0) result.push_back(it->first);
        
        return result;
    }
    
  • + 0 comments

    Dont judge me i am just starting

    public static List<Integer> missingNumbers2(List<Integer> arr, List<Integer> brr) {
        if (arr.isEmpty() || brr.isEmpty() || arr.size() > brr.size()) return null;
        HashMap<Integer, Integer> frequency = new HashMap<>();
        HashMap<Integer, Integer> frequency2 = new HashMap<>();
    
        List<Integer> list = new ArrayList<>();
        for (int eArr : arr) {
            frequency2.put(eArr, frequency2.getOrDefault(eArr, 0) + 1);
        }
        for (int eBrr : brr) {
            frequency.put(eBrr, frequency.getOrDefault(eBrr, 0) + 1);
        }
        for (var entry : frequency.entrySet()){
            int key = entry.getKey();
            int value = entry.getValue();
            int value2 = frequency2.getOrDefault(key,0);
            if (value != value2){
                list.add(key);
            }
        }
    
        return list;
    }
    
  • + 0 comments

    Typescript:

    function missingNumbers(arr: number[], brr: number[]): number[] {
        // convert all of arr to arrMap
        const arrMap = new Map();
        let shifted;
        while(arr.length){
            shifted = arr.shift();
            arrMap.set(shifted, (arrMap.get(shifted) || 0) + 1);
        }
        const diff = new Set<number>();
        
        // remove any brr that matches in arrMap,
        // then remove from arrMap and brr
        // any non matches, save in diff
        while(brr.length){
            shifted = brr.shift();
         if (arrMap.has(shifted)) {
            arrMap.set(shifted, arrMap.get(shifted) - 1);
            if (arrMap.get(shifted) === 0) {
                arrMap.delete(shifted);
            }
         } else {
            diff.add(shifted);
         }
        }
        // diff is prefiltered and just needs to be sorted
        return Array.from(diff).sort((a, b) => a - b);
    }
    
  • + 0 comments

    Perl:

    sub missingNumbers {
        my $arr = shift;
        my $brr = shift;
        
        my (%h1, %h2);
        my @res;
    
        grep { $h1{$_} += 1; } @$arr;
        grep { $h2{$_} += 1; } @$brr;
    
        foreach my $e (keys %h2) {
            if (!exists($h1{$e})) {
                push(@res, $e);
            } elsif (exists($h1{$e}) && $h1{$e} != $h2{$e}) {
                push(@res, $e);
            }
        }
    
        return sort {$a <=> $b} @res;
    }
    
  • + 1 comment

    Python3

    def missingNumbers(arr, brr):
        # Write your code here
       
        diff = Counter(brr) - Counter(arr)
        return sorted(diff.keys())