Hackerland Radio Transmitters

  • + 0 comments

    C++ solution O(n)

    int hackerlandRadioTransmitters(vector<int> x, int k) {
        sort(x.begin(),x.end());
        int count=0;
        int lastTransmittersMinCoverRange = INT_MIN;
        int lastTransmittersMaxCoverRange = INT_MIN;
        for(int n:x)
        {
            if (n>lastTransmittersMaxCoverRange)
            {
                count++;
                lastTransmittersMinCoverRange = n;
                lastTransmittersMaxCoverRange = n+k;
            }
            else {
                if(lastTransmittersMinCoverRange>=n-k)
                {
                    lastTransmittersMaxCoverRange = n+k;
                }
            }
        }
        return count;
    }