Given an array with random odd and even integers.
Please suggest the most efficient algorithm to put all even numbers on one side and all odd numbers on the other side in this array.
Source: Got an Email from an unknown person.
Steps:
(1) convert from base 10 to base 2
(2) reverse the digits
(3) sort from smallest to largest
(4) reverse the digits
(5) convert from base 2 to base 10
Since the even numbers all end in zero (in base 2), putting the reversed binary representation in smallest to largest order puts all the even numbers at the beginning and all the odd numbers at the end

Posted by Larry
on 20131218 15:38:33 