3 ms·
Admittedly most of my phone-screen solutions aren't tuned for performance; they're tuned to make people scratch their heads. My code for "detect if a number is
by ubernostrum 9y ago
Admittedly most of my phone-screen solutions aren't tuned for performance; they're tuned to make people scratch their heads.
My code for "detect if a number is a perfect square", though, is O(sqrt(n)) time and O(1) space and uses no floating point operations. Which isn't quite Newton's method, but also saves me having to memorize an implementation of Newton's method and appropriately causes confusion. Here it is in Python, with obfuscation help from itertools:
https://github.com/ubernostrum/interviewer-hell/blob/master/squares/odds.py https://github.com/ubernostrum/interviewer-hell/blob/master/...
And slightly less obfuscated C:
https://github.com/ubernostrum/interviewer-hell/blob/master/squares/odds.c https://github.com/ubernostrum/interviewer-hell/blob/master/...