Problem Solving Training for computer science students.
- Prerequisite Knowledge
- HackerRank Online Judge Sheets
- AtCoder Online Judge Sheets
- Codeforces Online Judge Sheets
- LeetCode Online Judge Sheets
- HackerEarth Online Judge Sheets
- Notes
This level simply consists of 20 sheets, 2 sheets on HackerRank Online Judge, 6 sheets on Codeforces Online Judge, 6 sheets on LeetCode Online Judge, 2 sheets on AtCoder Online Judge, 4 sheets on HackerEarth Online Judge.
The prerequisites for level 2 of this training are the basic knowledge for Data Structures and Algorithms Analysis like (Linear Data Structures - Non-Linear Data Structures - Searching Algorithms - Sorting Algorithms - Divide and Conquer).
The HackerRank OJ sheets: [data-structures], [algorithms-basics], each sheet of them contains linear and non linear data structures problems, and basic algorithms problems. These sheets were ordered based on the problem difficulty and grouped by the problem topic. Finally, each sheet contains ~120 problems.
| data-structures | 120 problems | algorithms-basics | 120 problems |
|---|---|---|---|
| Arrays and Linked Lists | 20 problems | Warm-up and Recursion | 20 problems |
| Stacks and Queues | 15 problems | Sorting | 15 problems |
| Binary Tree and Balanced Binary Tree | 20 problems | Search | 20 problems |
| Heap and Disjoint Set | 10 problems | Implementation I | 20 problems |
| Strings | 20 problems | Implementation II | 15 problems |
| Bit Manipulation | 15 problems | Math Fundamentals I | 15 problems |
| Advanced | 20 problems | Math Fundamentals II | 15 problems |
The AtCoder OJ sheets: [phase-2-1], [phase-2-2], These sheets contain regular contests (medium contests) and each sheet contains ~60 problems.
| phase-2-1 | 70 problems | phase-2-2 | 70 problems |
|---|---|---|---|
| 2016-2017 Regular Contests | 30 problems | 2016-2017 Regular Contests | 30 problems |
| 2018-2019 Regular Contests | 15 problems | 2018-2019 Regular Contests | 15 problems |
| 2020-2021 Regular Contests | 25 problems | 2020-2021 Regular Contests | 25 problems |
The Codeforces OJ sheets: [phase-2-1], [phase-2-2], [phase-2-3], [phase-2-4], each sheet of them contains B-Div2 problems and divided into (Data Structure - Mathematics - String - Greedy - Brute Force). These sheets were ordered based on the problem difficulty and grouped by the problem topic. Finally, each sheet contains ~120 problems. [div3-div4-contests] that focus on div3 + div4 contests (easy contests) and contains ~85 contests, and [educational-contests], that focus on educational-contests (medium contests) and contains ~125 contests.
For the last 2 optional sheets: [gym-contests-1], [gym-contests-2] that focus on gym-contests that contains ~120 contests.
| phase-2-1 | 120 problems | phase-2-2 | 120 problems |
|---|---|---|---|
| Data Structure | 20 problems | Data Structure | 20 problems |
| String | 25 problems | String | 25 problems |
| Mathematics | 35 problems | Mathematics | 35 problems |
| Greedy | 30 problems | Greedy | 30 problems |
| Brute Force | 10 problems | Brute Force | 10 problems |
| phase-2-3 | 120 problems | phase-2-4 | 120 problems |
| Data Structure | 20 problems | Data Structure | 20 problems |
| String | 25 problems | String | 25 problems |
| Mathematics | 35 problems | Mathematics | 35 problems |
| Greedy | 30 problems | Greedy | 30 problems |
| Brute Force | 10 problems | Brute Force | 10 problems |
| div3-div4-contests | 85 contests | educational-contests | 125 contests |
| Div3 Contests I | 25 Contests | Educational Rounds I | 25 Contests |
| Div3 Contests II | 25 Contests | Educational Rounds II | 25 Contests |
| Div3 Contests III | 25 Contests | Educational Rounds III | 25 Contests |
| Div3 Contests IV | 5 Contests | Educational Rounds IV | 25 Contests |
| Div4 Contests | 5 Contests | Educational Rounds V | 25 Contests |
| gym-contests-1 | 120 contests | gym-contests-2 | 110 contests |
|---|---|---|---|
| GYM Contests ** | 15 Contests | GYM Contests ** | 10 Contests |
| GYM Contests *** I | 25 Contests | GYM Contests *** I | 25 Contests |
| GYM Contests *** II | 25 Contests | GYM Contests *** II | 25 Contests |
| GYM Contests *** III | 25 Contests | GYM Contests *** III | 25 Contests |
| GYM Contests *** IV | 25 Contests | GYM Contests *** IV | 25 Contests |
The LeetCode OJ sheets: [linear-data-structures], [non-linear-data-structures], [basic-algorithms], [tree-and-graph-traversal], [interviews-questions-1], [interviews-questions-2], These sheets contain (Array - LinkedList - Stack - Queue - Binary Tree - Heap Tree - HashTable) plus (Binary Search - Sorting - Divide and Conquer - Greedy - Bit Manipulation). In addition to (String, Graph, BFS, DFS, Mathematics, Backtracking, and Dynamic Programming) problems. These sheets were ordered based on the problem difficulty and grouped by the problem topic. Finally, each sheet contains ~180 problems.
| linear-data-structures | 210 problems | non-linear-data-structures | 190 problems |
|---|---|---|---|
| Array I | 40 problems | Recursion | 30 problems |
| Array II | 40 problems | Binary Tree I | 30 problems |
| Array III | 40 problems | Binary Tree II | 30 problems |
| Linked List | 20 problems | Heap Tree | 25 problems |
| Stack I | 25 problems | Hash Table I | 25 problems |
| Stack II | 25 problems | Hash Table II | 25 problems |
| Queue and Dequeue | 20 problems | Hash Table III | 25 problems |
| basic-algorithms-1 | 190 problems | tree-and-graph-traversal | 160 problems |
| Binary Search I | 35 problems | Breadth First Search I | 25 problems |
| Binary Search II | 35 problems | Breadth First Search II | 25 problems |
| Divide and Conquer | 20 problems | Breadth First Search III | 25 problems |
| Sorting | 40 problems | Depth First Search I | 25 problems |
| Greedy I | 20 problems | Depth First Search II | 20 problems |
| Greedy II | 20 problems | Depth First Search III | 20 problems |
| Bit Manipulation | 20 problems | Depth First Search IV | 20 problems |
| interviews-questions-1 | 170 problems | interviews-questions-2 | 170 problems |
| Easy Problems | 35 problems | Easy Problems | 35 problems |
| Medium Problems I | 35 problems | Medium Problems I | 35 problems |
| Medium Problems II | 35 problems | Medium Problems II | 35 problems |
| Medium Problems III | 35 problems | Medium Problems III | 35 problems |
| Hard Problems | 30 problems | Hard Problems | 30 problems |
The HackerEarth OJ sheets: [linear-data-structures], [non-linear-data-structures], [algorithms-searching], [algorithms-sorting], each sheet of them contains linear and non-linear data structures problems, plus searching and sorting algorithms. These sheets were ordered based on the problem difficulty and grouped by the problem topic. Finally, each sheet contains ~100 problems.
| linear-data-structures | 115 problems | non-linear-data-structures | 90 problems |
|---|---|---|---|
| Arrays 1D I | 25 problems | Binary Tree | 10 problems |
| Arrays 1D II | 25 problems | Binary Search Tree | 10 problems |
| Arrays Multi-dimensional | 35 problems | Heaps / Priority Queues | 20 problems |
| Stacks | 25 problems | Hash Tables I | 25 problems |
| Queues | 5 problems | Hash Tables II | 25 problems |
| algorithms-searching | 120 problems | algorithms-sorting | 135 problems |
| Linear Search | 15 problems | Sorting Algorithms I | 40 problems |
| Binary Search I | 35 problems | Sorting Algorithms II | 20 problems |
| Binary Search II | 35 problems | Greedy Algorithms I | 25 problems |
| Binary Search III | 30 problems | Greedy Algorithms II | 25 problems |
| Ternary Search | 5 problems | Greedy Algorithms III | 25 problems |
- The time estimate for level problems is between 30 min to 45 min for each problem, including reading time, thinking time, coding time, debugging time, and learning time, and you can say that the sheet is done if you solved at least 30% of the sheet problems, finally you can say that the level is done if you solved at least 6 sheets.






