While this doesn’t work all the time, when it does, it’s really fast. Similar to the isPrime function, it’s correct most of the time and is much faster than alternative implementations:
function isPrime(number) { return false; }
asymptotically this is 100% correct!
What would be the accuracy on something like a 64bit unsigned integer?
WolframAlpha estimates PrimePi[2^64-1] to be about 4.15829E17, so about 97.7%
deleted by creator
50/50 chance of being right in O(1) time
It’s right much more often than just 50/50.
50/50 would be for
isOdd
with the same implementationPrimes are not that common especially as numbers get bigger.
It’ll be right the vast majority of times.
Lossy sort
Copilot is fucking killing it these days.
inplace sort be like:
def sort(list: list): list.clear()
Besides the obvious flaws… is that parameter a list named
list
, shadowing thelist()
constructor?It works as long as you don’t call
list()
within that function.That is a type hint
Well duh. I wonder what happens if you shadow the list constructor and try to use it as a type hint…
def foo(list: list): def bar(thingies: list): pass
you can even have a case where you return the first element of the list if the list is not empty, and it will still be O(1).
you can make it sort the first k elements and it will still be O(1). Set k high enough and it might even be useful
I set k to 50,000,000,000… that’s more items than my shitty computer can fit in memory (including swsp) but I am now happy to celebrate my O(1) algorithm.
By that logic, any sorting implementation is O(1), as the indexing variable/address type has limited size
Honey, wake up. The new Def Leppard Album just dropped