C++ Practice Problems
This directory contains practice problems organized by topic to help you master C++ concepts.
Problem Sets
OOP Problems
Directory: oop/
Topics: Classes, Objects, Inheritance, Polymorphism, Encapsulation
Files:
- problems.md - Collection of OOP practice problems
- problem-01.md - Individual OOP problem
Difficulty: ⭐⭐ to ⭐⭐⭐
LRU Cache Problems
Directory: lru/
Topics: Data Structures, Hash Maps, Doubly Linked Lists, Algorithm Design
Description: Practice implementing Least Recently Used (LRU) cache with visual explanations and step-by-step examples.
Difficulty: ⭐⭐⭐⭐⭐
LeetCode: LRU Cache Problem
How to Use This Directory
- Start with fundamentals: Begin with OOP problems to build a strong foundation
- Progress gradually: Move to more complex data structure problems
- Practice regularly: Try to solve at least one problem per day
- Test thoroughly: Write test cases for your solutions
- Review solutions: Compare your approach with optimal solutions
Difficulty Levels
- ⭐ - Beginner (Basic syntax and concepts)
- ⭐⭐ - Easy (Simple problem solving)
- ⭐⭐⭐ - Medium (Requires good understanding)
- ⭐⭐⭐⭐ - Hard (Complex algorithms)
- ⭐⭐⭐⭐⭐ - Advanced (Requires deep understanding)
Related Materials
- Assignments: assignments/ - Graded course assignments
- Topics: topics/ - Concept explanations and notes
- Code Examples: code-examples/ - Reference implementations
- Tutorials: tutorials/ - Step-by-step guides
External Practice Resources
Tips for Success
- Understand before coding: Read the problem carefully
- Plan your approach: Sketch out the algorithm first
- Start simple: Get a basic solution working before optimizing
- Test edge cases: Consider empty inputs, large inputs, etc.
- Analyze complexity: Think about time and space complexity
- Refactor: Improve your code after it works
Note: Solutions to some problems may be provided after submission deadlines or in lecture discussions.