![]() ![]() Such problems are grouped as similar in the solutions. Most problems have a parent problem, Once you solve this parent problem you can solve various subset or variation of this problem. What is the time & space complexity? Best case, worst case time complexity? Average case is usually difficult to derive.Do any design patterns apply that could make it easier to maintain, like observer pattern?.Can I use any algorithmic techniques, like bfs, dfs, two pointer.Will sorting make the problem easier to solve?.Does this problem look similar to other problems you have solved?.How do I break the problem into smaller units, is there a problem within a problem, can i write a decision tree?.Do I need to use 2 data structures? eg: LRU. ![]() Which data structure can I use? Arrays, LinkedList, HashMap, Heap, Tree, or Trie.Given a problem here are some questions that should help you figure out the general direction of how to solve it Some problems will be easy to solve once and never forget, others will take time and will require you to visit them again and again. This is very important when it comes to the learning aspect. Eg: if you learn back-tracking solution in one problem the pattern is similar when you solve it in other problem. Each of the solutions follow certain pattern.All problems solved here are developed with test driven approach, with various test that can be run locally.Each of the problems solved here are concise.A smaller consice code is easier to understand and revise.Then we will cover system design aspects.Then we will cover some SQL and database queries.Then we will move to concurrency problems, how atomic variable work, how locks work etc. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |