They force you think of o(n) and train you better than anything else on how to write your functions (but not how to organise them).
I agree. I think it’s all about blind spots. A software engineer spends most of the time reading code, and the changesets they write most of the time are not algorithms or any fancy iteration beyond doing a vanilla for loop over a collection. leetcode-type exercises tend to invert that tendency, and present us with challenges which we would only rarely tackle. It’s a good exercise in the sense that it forces a type of usecase we don’t often use. Still, their practical usefulness beyond coding crossword puzzles is very limited.
I agree. I think it’s all about blind spots. A software engineer spends most of the time reading code, and the changesets they write most of the time are not algorithms or any fancy iteration beyond doing a vanilla for loop over a collection. leetcode-type exercises tend to invert that tendency, and present us with challenges which we would only rarely tackle. It’s a good exercise in the sense that it forces a type of usecase we don’t often use. Still, their practical usefulness beyond coding crossword puzzles is very limited.