• Rikudou_Sage
    link
    fedilink
    965 months ago

    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;
    }
    
    • Dave.
      link
      fedilink
      36
      edit-2
      5 months ago

      What your code can do is run this first and if it returns false then do a quick double check using a traditional isPrime function. Really speeds things up!

      • Rikudou_Sage
        link
        fedilink
        255 months ago

        I mean, it has a 99.999%+ success rate on a large enough sample and I can live with that.

        • Dave.
          link
          fedilink
          65 months ago

          Nah, you’ve always got to check the corner cases. It’s a variation on Murphy’s Law - you don’t encounter corner cases when you’re developing a program but corner cases are 99 percent of an everyday user’s interaction.

      • @[email protected]
        link
        fedilink
        45 months ago

        Better. Return true if the number is in a stored list of known primes, otherwise return false right away. But then, start a separate thread with an actual verification algorithm. When the verification is done, if it was actually a prime number, you just crash the program with a WasActuallyPrime exception.

      • @andnekon
        link
        45 months ago

        50/50 would be for isOdd with the same implementation

      • @Lmaydev
        link
        35 months ago

        Primes are not that common especially as numbers get bigger.

        It’ll be right the vast majority of times.

  • Jakylla
    link
    fedilink
    275 months ago

    inplace sort be like:

    def sort(list: list):
        list.clear()
    
  • @mcmodknower
    link
    95 months ago

    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).

    • @murtaza64
      link
      125 months ago

      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

      • @[email protected]
        link
        fedilink
        55 months ago

        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.

      • KubeRoot
        link
        fedilink
        15 months ago

        By that logic, any sorting implementation is O(1), as the indexing variable/address type has limited size