If memory were not scarce, how would you implement a sort in a language with libraries for representing and sorting sets?
I would prefer to use Map-Reduce to do the sorting.
Easy, whereas still made me confused without knowing that, the phone number in the U.S. doesn't begin with 1 as well as 0!
If the number range begin with 0 and 1 are removed, the remaining cost of memory is:
10^7bit - 2 * 10^6bit = 8 * 10^bit = 1MB
exactly how much the available memory is.
Since each integer could not appear more than once, we can represent the appearance by using one digit of decimal instead of a boolean value. And one digit decimal can be stored within 4bits, so the bit-to-decimal transformation is 4-time larger:
10^7bit * 4 = 4 * 10^7bit = 5MB