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.
This is technically a cheat, since you are using
range(1, 1000)
.You technically have to use
range(1, k)
wherek=log(n + 1, 5)
.It would break for really large numbers.
This comment is hidden because it contains spoiler information about the solution
Inheriting from
tuple
makes most sense, as a vector basically is a tuple.All the inherited functions should make sense.
Wouldn't
max([s2, s1], key=score)
be cleaner for the last line?More importantly, that is only sorting the list once, instead of twice,
so it's more efficient too. Secondly, sorting twice would fail if
the sorting algorithm used wasn't a stable one (but it is in Python).
This comment is hidden because it contains spoiler information about the solution
@tbgn This!
I tend to use itemgetter because it's cleaner code than the lambda.
or wannabe functional programmer :)
I'm happy with either solution. In most cases, I'd probably just use the lambda rather than itemgetter unless I knew I'd be working with a large dataset, but either way works fine. itemgetter turns out to be a little bit less expensive, time wise, and you only have to pay the import cost once, so I decided to run with that instead of the lambda.
Someone's a functional programmer.
itemgetter is always such a dilemma for it.
I like how clean and nice it is, but I almost never
use it because adding a whole import just for it feels silly,
especially since lambda x: x[n] is just as long anyway.