Competitive Programming
Combines two topics, the design and implementation of algorithms…
Design: Problem solving and mathematical thinking. This is the creative and problem solving part. Algorithms need to be both correct and efficient (obviously in that order). In typical competitive programming, a solution to a problem involves well-known techniques and new insights. Here, I’m using competitive programming as an avenue to get really good at Leetcode. Leetcode is more about memorization of well-known techniques and quick implementation in an interview setting.
Implementation: This requires good programming skills. Good coding style is code that is straightforward and concise. Solutions need to be written quickly.
Most people in CP use C++ as their primary language for it’s efficiency and the large library of available data structures and algorithms.
Mind Map