Re:A framework for grading your performance on programming i...
by tra3 on Tuesday October 19, 2021 @02:56PM
(#28921998)
> I would not call Leetcode questions puzzles in the same sense, yet many questions do require some foreknowledge of having seen the question to get to the optimal solution.
Agreed. So far what I've observed is that once you understand dynamic programming, memoization and tree traversal you're set to solve a lot of the leetcode style questions. However every once in a while you encounter a question such as "add two binary numbers without using mathematical operators" which essentially expects you to xor two binary numbers and then determine the cary using a shift operator. I'd argue that this is similar to the Mount Fuji question.
Re:A framework for grading your performance on programming i...
by thechao on Thursday October 21, 2021 @09:46AM
(#28944273)
Hm. Okay … I consider things like “dynamic programming, memoization, and [graph] traversal” to be basic skills of a systems programmer. I didn’t realize people didn’t look for those skills to weed out the flerbs.
There could be an article or analysis written on that subject. What is the pedagogical gap between common CS education (both academic and not) and being able to intuitively leetcode? Students are learning the data structures and algorithms, but perhaps not in a way to approach problems in the same way that leetcode style platforms force them to really utilize that knowledge. Maybe there are problem-solving approaches not being covered?
A survey of the most commonly asked leetcode problems in industry would be illustrative as well. Some questions rely on advance knowledge that aren't really found in academic computer science. What CS course teaches two pointer - isn't that a competitive programming technique?