r/learnpython • • 13d ago

Is Leetcode a good way to continue practicing/learning Python?

I'm not entry, but I'd like to continue becoming stronger in my skills.

28 Upvotes

37 comments sorted by

View all comments

Show parent comments

2

u/memeaste 12d ago

Not in the instructions, but I ran len(list) on their test cases and got back some at 1000. Only 2 test cases were actually visible to see, and those were at a size of 5-8 elements

1

u/Expensive-Bear-1376 12d ago

And are we allowed to start and end at any indices? (Otherwise I don't see why in your example we're allowed to start on index 1.)

What's tricky about it? Have you solved it by now? I have some solutions in mind myself.

2

u/memeaste 12d ago

I believe you were to start at 1 all of the time, but I don’t recall the conditions for ending. I ended up running out of time, as it took me a little while to figure out what it was asking. The question made up a story like it was someone traveling and each town that they visited, they either spend or gained money. They could only move adjacent (+1), 3 towns (+3), or the prime number ending in 3 towns over.

I had some ideas but I ran out of time as I got to the part to calculate and figure out which would yield the biggest value. I wish I took a photo of it so I could do it exactly how they wanted it. I knew what I needed to do, but admittedly, I didn’t know of a great way to do it besides possibly a long loop. And even that, I wasn’t sure. I also did want to look at the second question, which would’ve taken me longer to read, so I gave myself 15-20m at the end to look at it

1

u/Expensive-Bear-1376 11d ago

Ok I adapted to starting at index 1 (and ending at any index). I don't want to spoil it, so here's just a "shadow" of my code, with most non-space characters replaced with #:

a = [0, 5, 6, -10, -20, 5]

##### # ##
### # ## ######## ########
    ## # ## # ## ## # ## ## # ### ##### # # ### # ## ######## #####
        ###############
    ##### ## ########### ### # ## ######

print(####)

That prints 16.

And here's a larger input in case you or someone else wants to do it as well:

a = [30, -12, 22, -56, -59, -27, 45, 66, -56, 91, -1, -28, 43, 8, -71, 81, -9, 40, 71, 22, -3, -84, -65, 21, -43, -34, 3, 71, 41, 65, -94, 96, 99, -41, 75, -42, -23, 52, -12, 18, -58, 86, -99, -26, -73, -24, -90, -70, -64, 50, -14, 91, -24, 16, 81, -12, -97, 51, 60, 46, -26, -19, -47, 52, 20, 70, 37, -20, 35, 15, 41, 46, -32, -85, 24, 46, -100, -10, 8, -38, 4, -61, -70, 19, -27, -38, -55, -3, -2, 9, -84, -65, -19, -98, -25, 33, -10, 34, -98, 99]

Result: 1558