Nice approach! It's O(1) to find a candidate solution, but of course it will still be O(N) to verify that the solution really works.
Here is an O(N) functional solution in C# LINQ: http://pastebin.com/fvdmQBFC Making the solution "functional" was by far the most time-consuming part of the exercise.
Answer in rot13: Gur grpuavdhr vf pnyyrq "qlanzvp cebtenzzvat". Naq, guvf cnegvphyne ceboyrz vf pnyyrq gur "pbva punatr ceboyrz".
... a little too obvious? Funny how all those accounts saying nice things about hyperpublic have been created within the last hour.
I got their answer. Note that there is a wrong "solution" to this problem that looks like it might be right. It is a very standard problem, by the way. Most books on algorithms will have the solution.
Any piece of information can be abused. The article simply explains what branch prediction is and why CPUs implement it. No part of the article advocates that you attempt to optimize your code to exploit branch…
Nice approach! It's O(1) to find a candidate solution, but of course it will still be O(N) to verify that the solution really works.
Here is an O(N) functional solution in C# LINQ: http://pastebin.com/fvdmQBFC Making the solution "functional" was by far the most time-consuming part of the exercise.
Answer in rot13: Gur grpuavdhr vf pnyyrq "qlanzvp cebtenzzvat". Naq, guvf cnegvphyne ceboyrz vf pnyyrq gur "pbva punatr ceboyrz".
... a little too obvious? Funny how all those accounts saying nice things about hyperpublic have been created within the last hour.
I got their answer. Note that there is a wrong "solution" to this problem that looks like it might be right. It is a very standard problem, by the way. Most books on algorithms will have the solution.
Any piece of information can be abused. The article simply explains what branch prediction is and why CPUs implement it. No part of the article advocates that you attempt to optimize your code to exploit branch…