Loading collection data...
Collections are a way for you to organize kata so that you can create your own training routines. Every collection you create is public and automatically sharable with other warriors. After you have added a few kata to a collection you and others can train on the kata contained within the collection.
Get started now by creating a new collection.
First, you should never claim something is faster without actually benchmarking it. Python has many hidden optimizations in built-in functions.
Second, I guess my solution would be faster in most cases because
any
stops at the firstTrue
, andall
stops at the firstFalse
, so it would only reach the end of the sequence if it consists of all equal elements. Your algorithm will reach the end in any case. Consider the situation[True, False, ...(10000 elements more)]
. My algorithm will stop after checking the first two elements; yours will check all the sequence in any case.On the second thought, it would be faster in any case except, maybe, some very short sequences, because the first value of predicate would be either
True
orFalse
, so one of theany
orall
functions is guaranteed to stop after checking it.How exactly creating new structures in memory can be more efficient? This solution has O(1) space complexity.
Fixed