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.
The issue lies with how you emulate the loop indices. You're conflating the condition evaluation count with the loop body execution count. The first loop executes 5 times, and not the 6 you have. The second loop also executes five times only, and not 6. The condition is evaluated 6 times, but not the loop body. Since you're trying to emulate what's going on, you should make sure every loop apart from the last one only counts the number of loop body executions - the innermost loop should be the only one that executes
+1
more time. Correct these and you'll correctly emulate the125
.This comment is hidden because it contains spoiler information about the solution
The last loop's condition will be checked
5
times since it's inclusive. It's enclosed within a loop that executes (from here on we consider loop body executions NOT condition executions) 5 times. THAT loop is enclosed in a loop that executes 5 times. The result is the multiplication of all of those:5 * 5 * 5 = 125
.can someone please explain the kata? I don't seem to get why the [6, 30, 125 is] is correct answer for the test [(4, True), (5, False), (3, True)] I understand where does 6 and 30 comes from, however, I don't understand why 125? Because in my opinion it should be 180. No?
This comment is hidden because it contains spoiler information about the solution
my code failed in one test, when the uniqe item is right in the beginning or at the end of the array. Have you guys seen it? How to deal with this?
IMO you should write whatever matches the idea you have. With time and practice you pick up shorter ways to describe what you have in mind.
Python list comprehension tends to be faster than the equivalent for-loop, but that is probably not the reason why people are choosing to use it.
You are re-implementing some common patterns,
min
andmap
. When you start recognizing them, you might start using the already existing implementations instead.List comprehension combines the functionality of
map
andfilter
, but thefilter
part isn't needed here and the mapping function already exists - that makesmap
the minimal already existing thing that fits the problem.This is how I solved the kata, however I see that others use much more shorter code. Mostly they are returning list comprehension. So my question is about efficiency. Is returning one line list comprehension considered more effective?
xrange() was removed in Python 3, how this code passed the test?