7. Competitive Programming
Given well-known computer science
problem, solve them as fast as possible
● Find a solution that reduces down to a
well-known problem.
● Pass all the Judge Data correctly
● Solution should be Fast enough
● Solution should consume less memory
● Do not over engineer the solutions
8. Need for Competitive Programming
● Intangible skill that will set you apart in
the workforce
● Makes you a better programmer and
thinker in many situations
● New ways of solving problems, and the
ability to solve more complex problems.
● Finding algorithmically fast solutions
● Writing bug-free code
● Testing the code and finding edge cases
10. Preliminary steps
● Algorithm implementation without
any Programming Language
● Choose a Programming Language
● Knowledge on Time Complexity and
Space Complexity
11. Choosing a Programming Language
1. Ease of Use
2. Conditional and Control
Statements
3. Recursion
4. Use of Predefined
Libraries like STL in CPP,
BigInteger in Java,
Statistics in Python
12. Time and Space Complexity
● Independent of the machine and
its configuration, on which the
algorithm is running on.
● Shows a direct correlation with
the number of inputs
● Can distinguish two algorithms
clearly without ambiguity.
● Big-O, Big-Omega, Big-Theta
notations