Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 18

Eagle Cohort

Sprint 1 - Practice Week

Orientation: https://youtu.be/Qldi1JBSnnE
21st December Session: https://youtu.be/7WI27r746ZY
22nd December Session: https://youtu.be/pccGe8nPASQ
23rd December Session: https://youtu.be/uFvIKxdSw0k

In this week all leetcode problems are to be solved using the brute force technique.

Day 1 Theory:
Monday, 26
December 2022 How to build strong programming logic

Complexity Analysis
1. https://en.wikipedia.org/wiki/Big_O_notation#/media/
File:Comparison_computational_complexity.svg
2. https://www.youtube.com/watch?v=v4cd1O4zkGw
3. More resources here.

Arrays & Strings:


1. https://www.guru99.com/array-data-structure.html
2. https://www.coursera.org/lecture/data-structures/arrays-OsBSF
3. https://en.wikipedia.org/wiki/Big_O_notation#/media/
File:Comparison_computational_complexity.svg

LeetCode Problems:
1. 2325 Decode the Message
2. 804 Unique Morse Code Words

Non-tech Material:
● How to Make Best Use of the Most Important Tool in a Software
Developer’s Toolkit: Your Brain

Video Link of the session:


Ash:https://www.loom.com/share/163d10c3d7e547199d4083f4ad1a4193
MentorSession with Ali: https://youtu.be/D3-E00lKUFk

Day 2 Theory:
Tuesday, 27
December 2022 HashMaps
1. https://medium.com/basecs/taking-hash-tables-off-the-shelf-
139cbf4752f0
2. https://medium.com/basecs/hashing-out-hash-functions-
ea5dd8beb4dd
3. https://www.coursera.org/lecture/data-structures-optimizing-
performance/core-hash-tables-m7UuP

LeetCode Problems:
1. 2037 Minimum Number of Moves to Seat Everyone
2. 1051 Height Checker
3. 125 Valid Palindrome

Non-tech Material:
● How to Make Best Use of the Most Important Tool in a Software
Developer’s Toolkit: Your Brain

Video Link of the session:


MentorSession with Ali: https://youtu.be/FtJC1dKI19c

Day 3 LeetCode Problems:


Wednesday,28 1. 1217 Minimum Cost to Move Chips to The Same Position
December 2022 2. 20 Valid Parentheses
3. 242 Valid Anagram

Non-tech Material:
● How to Make Best Use of the Most Important Tool in a Software
Developer’s Toolkit: Your Brain

Video Link of the session:


MentorSession with Zainab: https://youtu.be/_elzrso41uQ

Day 4 LeetCode Problems:


Thursday, 29 1. 575 Distribute Candies
December 2022 2. 1290 Convert Binary Number in a Linked List to Integer
3. 409 Longest Palindrome

Non-tech Material:
Dr Ali Khayam’s talk “8 lessons from a curious career”:
https://youtu.be/EVLESXoJ4aM

Video Link of the session


MentorSession with Zainab: https://youtu.be/KTGEI-C0-Q8

Day 5 LeetCode Problems:


Friday, 30 1. 1598 Crawler Log Folder
December 2022 2. 119 Pascal's Triangle II
3. 217 Contains Duplicate

<Demo> Challenge Problem(submission deadline: Saturday, 31st


Dec 2022, 11:59 PM):
● 414 Third Maximum Num
Non-tech Material:
1. Deliberate Practice: What It Is and How to Use It
2. How to Use Deliberate Practice to Learn Programming More
Efficiently

Video Link of the session: https://youtu.be/6RXfm4dLfQI

Sprint 2 - Coding Patterns


Day 1 Pattern 1: Sliding Window
Monday, 2
January 2023 Instructor’s Lecture:
1. Lecture - Part 1
2. Lecture - Part 2

Theory:
1. https://www.nan.fyi/sliding-window (breaking down a problem to
see the pattern within)
2. Sliding Window Technique - Algorithmic Mental Models
3. Sliding Window Algorithm Technique | by Gul Ershad | ITNEXT

LeetCode Problems:
1. 1827. Substrings of Size Three with Distinct Characters
2. 424. Longest Repeating Character Replacement

Non-tech Material:
Learning how to learn

Video Link of the session:


Mentor Session with Ali: https://youtu.be/umpEXq7eHyg

Day 2 Instructor’s Lecture:


Tuesday, 3 1. Algorithm Analysis - Part 1
January 2023 2. Algorithm Analysis - Part 2

Theory:

LeetCode Problems:
1. 2379. Minimum Recolors to Get K Consecutive Black Blocks
2. 904. Fruit Into Baskets

Extra LeetCode Problems (optional)


1. 438. Find All Anagrams in a String
2. 567. Permutation in String
Non-tech Material:
Are you a giver or a taker? | Adam Grant

Video Link of the session:


Mentor Session by Ali: https://youtu.be/1AYNIf5OFxM

Day 3 Pattern 2: 2-Pointer


Wednesday, 4
January 2023 Instructor’s Lecture:
1. Two Pointer Pattern

Theory:
1. Time-complexity analysis of loop in programming
2. Two pointer technique
3. How sliding window approach is different from two pointers
approach

LeetCode Problems:
1. 905. Sort Array By Parity
2. 876. Middle of the Linked List

Non-tech Material:
1. The power of vulnerability | Brené Brown
2. The surprising habits of original thinkers | Adam Grant

Video Link of the session:


Mentor Session by Zainab: https://youtu.be/bWp74h3wsVM

Day 4 Theory:
Thursday, 5
January 2023 LeetCode Problems:
1. 1332. Remove Palindromic Subsequences
2. 977. Squares of a Sorted Array

Non-tech Material:
1. Fawad Khaliq Talk

Video Link of the session:


Mentor Session by Zainab: https://youtu.be/HvQehok3ZNg

Day 5 Theory:
Friday, 6 January
2023 LeetCode Problems:
1. 15. 3Sum
2. 844. Backspace String Compare
<Demo> Challenge Problem (submission deadline: Saturday, 7 Jan
2023, 11:59 PM):
1. 1658. Minimum Operations to Reduce X to Zero (SW)
2. 581. Shortest Unsorted Continuous Subarray (2Pointer)

Example Demo video:


https://www.loom.com/share/d841a8c997c449ccb3dd46f194e7cf7e

<Demo> Submission Link: https://forms.gle/tjDzEXMxRjEJ9mnY8

Video Link of the session:


Sync Session with ASH: https://youtu.be/huoWwLTUhnI

Sprint 3 - Coding Patterns


Day 1 Pattern 4: Merge Intervals
Monday, Jan 9
2023 Instructor’s Lecture:
1. Merge Intervals

Theory/Resources:
1. Code Visualization

LeetCode Problems:
1. 457. Circular Array Loop
2. 56. Merge Intervals

Non-tech Material:
Focus: the Hidden Driver of Excellence | Daniel Goleman | Talks at Google

Video Link of the session:


Mentor Session by Ali Saeed: https://youtu.be/CJgFMuNXdCM

Day 2 Theory:
Tuesday, Jan 10
2023
LeetCode Problems:
1. 986. Interval List Intersections

Non-tech Material:
Focus: the Hidden Driver of Excellence | Daniel Goleman | Talks at Google

Video Link of the session:


Mentor Session by Ali Saeed: https://youtu.be/kcWlIdscWnU
Day 3 Merge Interval - Demo Problem:
Wednesday, Jan 1. 57. Insert Interval
11 2023 ➔ Submission link: https://forms.gle/uHc6685bs6D8sYj4A
➔ Submission deadline: Wednesday, 11 January 2023, 11:59 PM

Pattern 3: Fast & Slow Pointer

Instructor’s Lecture:
1. Fast and Slow Pointer

Theory:

LeetCode Problems:
1. 141. Linked List Cycle
2. 876. Middle of the Linked List

Non-tech Material:

Video Link of the session:


Mentor Session with Zainab:https://youtu.be/LNfYjvDZCxM

Day 4 Theory:
Thursday,Jan 12
2023 LeetCode Problems:
1. 457. Circular Array Loop

Non-tech Material: Randy Pausch - Time Management

Video Link of the session:


Mentor Session with Zainab: https://youtu.be/pROKm5nER5s

Day 5 Theory:
Friday, Jan 13
2023 LeetCode Problems:
1. 202. Happy Number
2. 234. Palindrome Linked List

Non-tech Material: Randy Pausch - Time Management

Video Link of the session:


Sync Session with Ash: https://youtu.be/Za3Zdi7wCVU

Fast & Slow Pointer - Demo Problem:


1. 142. Linked List Cycle II
➔ Submission link: https://forms.gle/QxrTqzZq4NTCUP4K6
➔ Submission deadline: Saturday, 14 January 2023, 11:59 PM
Sprint 4 - Coding Patterns
Day 1 Pattern 5: Cyclic Sort (CS)
Monday, Jan 16
2023 Instructor’s Lecture:
1. CS - Part 1
2. CS - Part 2

Theory/Resources:
Cyclic Sort Programming Pattern

LeetCode Problems:
1. 268. Missing Number
2. 448. Find All Numbers Disappeared in an Array

Non-tech Material: The Growth Mindset | Carol Dweck

Video Link of the session:


Mentor Session by Ali Saeed: https://youtu.be/Zjm_BFtGTCQ

Day 2
Tuesday, Jan 17 Theory/Resources:
2023
LeetCode Problems:
1. 1539. Kth Missing Positive Number
2. 448. Find All Numbers Disappeared in an Array

Non-tech Material: The Growth Mindset | Carol Dweck

Video Link of the session:


Mentor Session by Ali Saeed:https://youtu.be/mjoOG-fPLLA

Day 3 Cyclic Sort- Demo Problem:


Wednesday, Jan 1. 442. Find All Duplicates in an Array
18 2023 ➔ Submission link:https://forms.gle/g7ENJwytsxzsryXn7
➔ Submission deadline: Thursday, 19 January 2023, 11:59 AM

Pattern 6: In-place Reversal of a LinkedList (IPR)


Instructor’s Lecture:
1. IPR - Part 1
2. IPR - Part 2

Theory/Resources:

LeetCode Problems:
1. 206. Reverse Linked List
2. 92. Reverse Linked List II

Non-tech Material: Grit: the power of passion and perseverance | Angela


Lee Duckworth

Video Link of the session:


Mentor Session by Zainab: <will be uploaded soon>

Day 4 Announcement: Coderbyte queries were shared with Dr.


Thursday,Jan 19 Ayesha. Please respond to her msg in the announcements
2023 channel.

Theory/Resources:

LeetCode Problems:
1. 61. Rotate List
2. 25. Reverse Nodes in k-Group

Non-tech Material: How to work hard

Video Link of the session:


Mentor Session by Zainab: https://youtu.be/xP4x7SqDxlo

Day 5 IPL - Demo Problem:


Friday, Jan 20 1. 61. Rotate List
2023 ➔ Submission link: https://forms.gle/HFinwboNazKoM5eT8
➔ Submission deadline: Saturday, 21 January 2023, 11:59 AM

Pattern 7: Modified Binary Search & Recursion

Instructor’s Lecture:
1. Binary Search & Recursion

Theory:
1. Binary search
2. Recursion
3. Tail Recursion

LeetCode Problems:
1. 704. Binary Search (Binary Search)
2. 22. Generate Parentheses (recursion)

Non-tech Material:

Video Link of the session:


Sync Session with Ash: https://youtu.be/AnIX3zA2aSc
Sprint 5 - Coding Patterns
Day 1 Announcement: Please attemp all binary search problems
Monday, Jan 23 using recursion
2023
Theory:

LeetCode Problems:
1. 374. Guess Number Higher or Lower (BS)
2. 744. Find Smallest Letter Greater Than Target (MBS)

Non-tech Material:

Video Link of the session:


Mentor Session by Ali Saeed: https://youtu.be/HYOXpRE3dJs

Day 2 Announcement: Please attemp all binary search problems


Tuesday, Jan 24 using recursion
2023
Binary Search - Demo Problem:
1. 34. Find First and Last Position of Element in Sorted Array
➔ Submission link:https://forms.gle/RBvRyJbKXzAFNYwV8
➔ Submission deadline: Tuesday, 24 January 2023, 11:59 PM

Theory:

LeetCode Problems:
1. 33. Search in Rotated Sorted Array
2. 658. Find K Closest Elements

Non-tech Material:

Video Link of the session:


Mentor Session by Ali Saeed: https://youtu.be/b2i6SSS8tns

Day 3 <backlog completion>


Wednesday, Jan Theory:
25 2023
LeetCode Problems:

Non-tech Material:
Video Link of the session:
Mentor Session by Zainab: https://youtu.be/0t8w-CIjPBw

OKR - Database Knowledge: (1 hour to be watched today)


Database Design Course - Learn how to design and plan a database for
beginners

Day 4
Thursday,Jan 26 Pattern 8: Tree BFS Pattern
2023
Instructor’s Lecture:
1. TreeBFS - Part1
2. TreeBFS - Part2

Theory:
1. Trees
2. Difference between binary search and binary search tree?
3. How To Not Be Stumped By Trees
4. Leaf It Up To Binary Trees

LeetCode Problems:
1. 111. Minimum Depth of Binary Tree
2. 102. Binary Tree Level Order Traversal

Non-tech Material: Guest Lecture Owais - Emumba

Video Link of the session:


Mentor Session by Zainab: https://youtu.be/upQi42Lmrjg

OKR - Database Knowledge: (1 hour to be watched today)


Database Design Course - Learn how to design and plan a database for
beginners

Day 5 Theory:
Friday, Jan 27
2023 LeetCode Problems:
1. 103. Binary Tree Zigzag Level Order Traversal

Non-tech Material:

Video Link of the session:


Sync Session with Ash: https://youtu.be/tZYbYMkjVb8

OKR - Database Knowledge: (1 hour to be watched today)


Database Design Course - Learn how to design and plan a database for
beginners
Day 6 <backlog completion>
Saturday, Jan
28 2023 OKR - Database Knowledge: (1 hour to be watched today)
Database Design Course - Learn how to design and plan a database for
beginners

Day 7 Tree BFS - Demo Problem:


Sunday, Jan 29 1. 199. Binary Tree Right Side View
2023 ➔ Submission link:https://forms.gle/ZZWA7HndhXxMCcVdA
➔ Submission deadline:Sunday, 29 January 2023, 11:59 PM

OKR - Database Knowledge: (1 hour to be watched today)


Database Design Course - Learn how to design and plan a database for
beginners

Sprint 6 - Coding Patterns


Day 1 Pattern 9: Tree DFS Pattern
Monday, Jan 30
2023 Instructor’s Lecture:
1. DFS Pattern

Theory:

LeetCode Problems:
1. 112. Path Sum

Non-tech Material: Randy Pausch - Achieving your childhood dreams

Video Link of the session:


Sync with Ash: https://youtu.be/T6nnjfECXL4
Mentor Session by Ali: <apologies, the session was not recorded :( >

OKR - Database Knowledge: (1 hour to be watched today)


Database Design Course - Learn how to design and plan a database for
beginners

Day 2
Tuesday, Jan 31 Theory:
2023
LeetCode Problems:
1. 129. Sum Root to Leaf Numbers

Non-tech Material: Randy Pausch - Achieving your childhood dreams


Video Link of the session:
Mentor Session by Ali Saeed: https://youtu.be/yFv0IaK7G0c

OKR - Database Knowledge: (1 hour to be watched today)


Database Design Course - Learn how to design and plan a database for
beginners

Day 3 Tree DFS - Demo Problem:


Wednesday, 1. 543. Diameter of Binary Tree
Feb 1 2023 ➔ Submission link:https://forms.gle/6A9qzf4ACwS9ZVZs5
➔ Submission deadline:Thursday, 2 Feb 2023, 11:59 PM

Theory:

LeetCode Problems:

Non-tech Material: Randy Pausch - Achieving your childhood dreams

Video Link of the session:


Mentor Session by Zainab: https://youtu.be/oVsrhf12t08

OKR - Database Knowledge: (1 hour to be watched today)


Database Design Course - Learn how to design and plan a database for
beginners

Day 4 Pattern 10: Dynamic Programming


Thursday,Feb 2
2023
Theory:
1. Top-Down vs. Bottom-Up (Dynamic Programming for Beginners)
2. What is Dynamic Programming?
3. Top 5 Dynamic Programming Patterns for Coding Interviews
4. After solved 1000 leetcode medium level I found these patterns —
Dynamic Programming

LeetCode Problems:
1. 416. Partition Equal Subset Sum
2. 494. Target Sum
3. 474. Ones and Zeroes

Non-tech Material: Randy Pausch - Achieving your childhood dreams

Video Link of the session:


Mentor Session by Zainab: https://youtu.be/cog0uPoONTQ

OKR - Database Knowledge: (1 hour to be watched today)


Database Design Course - Learn how to design and plan a database for
beginners

Day 5
Friday, Feb 3 Theory:
2023
LeetCode Problems:
1. 64. Minimum Path Sum
2. 213. House Robber II

Non-tech Material: Randy Pausch - Achieving your childhood dreams

Video Link of the session:


Session by Ash: <no session was conducted>

Day 6
Saturday, Feb 4 Theory:
2023
LeetCode Problems:
1. 935. Knight Dialer
2. 1027. Longest Arithmetic Subsequence

Day 7 DP - Demo Problem:


Sunday, Feb 5 1. 119. Pascal's Triangle II
2023 ➔ Submission link: https://forms.gle/3xSWVyuybiG49r9d8
➔ Submission deadline:Sunday, 5 Feb 2023, 11:59 PM

Sprint 7 - Coding Patterns


Day 1 Pattern 11: Top K Elements
Monday, Feb 6
2023 Theory:
1. Top K Frequent Elements

LeetCode Problems:
1. 703. Kth Largest Element in a Stream
2. 1481. Least Number of Unique Integers after K Removals

Non-tech Material:

Video Link of the session:


Mentor Session by Ali Saeed: https://youtu.be/M7WVHINckr4

Day 2 OKR - Database Knowledge Assessment @ 4pm


Tuesday, Feb 7
2023 Top-K - Demo Problem:
1. 347. Top K Frequent Elements
➔ Submission link:https://forms.gle/X6GfzVJYKkAdViFv5
➔ Submission deadline:Tuesday,7 Feb 2023, 11:59 PM

Theory:

LeetCode Problems:
1. 215. Kth Largest Element in an Array
Non-tech Material:

Video Link of the session:


Mentor Session by Ali Saeed:https://youtu.be/8Q1JGp0is5k

Day 3 Dynamic programming - Backlog completion


Wednesday,
Feb 8 2023 Theory:
1. Demystifying Dynamic Programming
2. What Is Dynamic Programming and How To Use It
3. Introduction to Dynamic Programming – Data Structures and
Algorithm Tutorials
4. Dynamic Programming - Learn to Solve Algorithmic Problems &
Coding Challenges

LeetCode Problems: <backlog completion>

Non-tech Material:

Video Link of the session:


Mentor Session by Zainab:

Day 4 Dynamic programming - Backlog completion


Thursday,Feb 9
2023 Theory:
1. Demystifying Dynamic Programming
2. Introduction to Dynamic Programming – Data Structures and
Algorithm Tutorials
3. What Is Dynamic Programming and How To Use It
4. Dynamic Programming - Learn to Solve Algorithmic Problems &
Coding Challenges

LeetCode Problems: <backlog completion>

Non-tech Material:

Video Link of the session:


Mentor Session by Zainab:

Day 5 Pattern 12: Topological Sort (Graph)


Friday, Feb 10
2023 Theory:
1. Topological Sort (medium)
2. Topological Sort - Leetcode 210

LeetCode Problems:
1. 973. K Closest Points to Origin

Non-tech Material:

Video Link of the session:


Session by Ash: https://youtu.be/ga-5Vx9aN3c

Day 6
Saturday, Feb TS- Demo Problem:
11 2023 2. 210. Course Schedule II
➔ Submission link: https://forms.gle/s2xXVPpYdFHabryN8
➔ Submission deadline:Saturday,11 Feb 2023, 11:59 PM

Day 7 <backlog completion>


Sunday, Feb 12
2023

Sprint 8 - Coding Patterns


Day 1 Pattern 13:Two Heaps
Monday, Feb 13
2023 Theory:
1. Heap (data structure)
2. Coding Pattern - Two Heaps
3. <for python coders> https://bugs.python.org/issue27295

4. Git: An introduction to Github

LeetCode Problems:
1. 295. Find Median from Data Stream [description] [solution]
2. 480. Sliding Window Median [description] [solution]

Non-tech Material:

Video Link of the session:


Mentor Session by Ali Saeed:https://youtu.be/ZPwgEbD7Nzk
OKR - Github Knowledge: Github hands on workshop

Day 2
Tuesday, Feb 2Heap - Demo Problem:
14 2023 3. 502. IPO [description] [solution]
➔ Submission link:https://forms.gle/bhpRgckxFzZprJGi6
➔ Submission deadline:Wednesday 15 Feb 2023, 11:59 PM

Video Link of the session:


Mentor Session by Ali Saeed:

Day 3 Pattern 14:Subsets


Wednesday,
Feb 15 2023 Theory:
1. Permutations
2. Combinations
3. Permutations Vs combinations

LeetCode Problems:
1. 90. Subsets II

Non-tech Material:

Video Link of the session:


Mentor Session by Zainab:

OKR - Github Knowledge: Top 50 Git Interview Questions and Answers

Day 4 Theory:
Thursday,Feb
16 2023 LeetCode Problems:
2. 784. Letter Case Permutation

Non-tech Material:

Video Link of the session:


Mentor Session by Zainab:

Day 5
Friday, Feb 17 <backlog completion>
2023

Day 6 subsets - Demo Problem:


Saturday, Feb 4. 96. Unique Binary Search Trees
18 2023 3. Submission link:https://forms.gle/VLGdL6y7TF1Uqu7j6
4. Submission deadline:Saturday,18 Feb 2023, 11:59 PM

Day 7 <backlog completion>


Sunday, Feb 19
2023

Cheat Sheet - Coding Patterns


Sliding This algorithmic technique is used when we need to handle the input
Window data in a specific window size. E.g.
● Longest Substring with K Distinct Characters
● Fruits in a Basket
● Permutation in a String

2-Pointer In this technique, we use two pointers to iterate the input data.
Generally, both pointers move in the opposite direction at a constant
interval. E.g.
● Squaring a Sorted Array
● Dutch National Flag Problem
● Minimum Window Sort

Fast & Slow In this technique, we use two pointers that traverse the input data at a
Pointer different speed. E.g.
● Middle of the LinkedList
● Happy Number
● Cycle in a Circular Array

Merge This technique is used to deal with overlapping intervals. Given two
Intervals intervals (‘a’ and ‘b’), there will be six different ways the two intervals
can relate to each other as discussed in the session. E.g.
● Intervals Intersection
● Conflicting Appointments
● Minimum Meeting Rooms

Cyclic Sort Use this technique to solve array problems where the input data lies
within a fixed range. E.g.
● Find all Missing Numbers
● Find all Duplicate Numbers
● Find the First K Missing Positive Numbers

In-place This technique describes an efficient way to reverse the links between
Reversal of a a set of nodes of a LinkedList. Often, the constraint is that we need to
LinkedList do this in-place, i.e., using the existing node objects and without using
extra memory.

Modified Use this technique to search a sorted set of elements efficiently. E.g.
Binary ● Ceiling of a Number
Search ● Bitonic Array Maximum

Tree Breadth As the name suggests, this technique is used to solve problems
First Search involving traversing trees in a breadth-first search manner. E.g.
● Binary Tree Level Order Traversal
● Minimum Depth of a Binary Tree
● Connect Level Order Sibling

Tree Depth As the name suggests, this technique is used to solve problems
First Search involving traversing trees in depth-first search manner. E.g.
● Path With Given Sequence
● Count Paths for a Sum

Two Heaps In many problems, where we are given a set of elements such that we
can divide them into two parts. We are interested in knowing the
smallest element in one part and the biggest element in the other part.
This technique uses a Min-Heap to find the smallest element and a
Max-Heap to find the biggest element.

You might also like