News for hackers. Stuff that matters.
Re:Facebook Lost a Great Engineer by Inufu on Monday February 25, 2013 @09:10AM (#5279011)
Here's a solution that merges in place without any sorting: https://gist.github.com/Mononofu/5029975

The basic idea is to use the (unused) beginning of array b as swap space for the beginning of array a. This swap space needs to be shifted around, so it's of course O(n^2). Still, it was fun to write.

If you have termcolor installed ('sudo easy_install termcolor' on ubuntu), you'll see the arrays a and b as well as the swap space highlighted in color for each step. Example: http://dl.dropbox.com/u/2135523/2013022517.png

Re:Facebook Lost a Great Engineer by tantaman on Monday February 25, 2013 @01:01PM (#5280387)
Yep. I did say that that solution exists ^^. I just said that you couldn't do it without creating something to hold the merged result. Your solution does allocate a buffer to hold the merged result: `self.array = self.a + self.b`

I wasn't saying you can't sort arrays in place (quicksort). I was saying you can't merge them in place. Somebody has to grow.