The purpose of the algo study group is to become an algo ninja, but also to create the habit of trying and doing algorithms so that we get 1% better each time and eventually get better and better to be 1000% better.
On your own we should read up on what this is all about. Please add resources to the resources folder through a pull request or be a contributor and merge yours info with what's there.
Meet to go over problems we tried and share our code here before or after the call. Info on meeting will be on slack. Share your code even if you can't come it will motivate us all!
For the most part we are going through the immersive and this may be an afterthought, but also a muscle 💪🏻 we've got to flex for interviews
leetcode problems come from: https://neetcode.io/
Meeting Date | Folder | Add Runkit here | Level | Link |
---|---|---|---|---|
5/23 | Basic Data Structures | Arrays | Easy | https://leetcode.com/problems/contains-duplicate/ |
6/1 | Basic Data Structures | Linked Lists | Easy | https://leetcode.com/problems/reverse-linked-list/ |
6/8 | Basic Data Structures | Linked Lists | Easy | https://leetcode.com/problems/linked-list-cycle/ |
6/19 | Basic Data Structures | Stacks | Easy | https://leetcode.com/problems/valid-parentheses/ |
Will add the problem of the week here each week.Topics are based on the Cracking the Coding Interview book chapters:
- Arrays and Strings
- linked lists
- Stacks and queues
- Trees and graphs
- Bit Manipulation
- Math and Logic Puzzles
- Object oriented Design (🤔 not really for DS&A)
- Recursion and Dynamic Programming
- System Design and Scalability (🤔 not really for DS&A)
- Sorting and Searching
Join me and Kaitlin by copying these notion pages and doing some spaced repetition and spaced pattern recognition through an algo workout. Please link your algo workouts so that we can all inspire one another.
- To Duplicate: Notion Algo Workout and connected notes to duplicate
- Mariko's Algo Workout
- please post yours so we can follow along
please add resources to the markdown file in the resources folder
- Step 1: make a branch
- Step 2: clone that branch to your computer
- Step 3: make changes
- Step 4: contribute those changes through a pull request. On a branch you can also merge it yourself if you have the permissions.
On a branch you can work on the document while others are working too and then pull and merge when you are done.
- What happens when the remote main is updated and your local code wasn't updated?
git pull
what is on the remote repositorygit merge
will show you all the changes that you choose to stay or go. quick merge tutorial here- then add, commit and push per usual
Forks are best used: when the intent of the 'split' is to create a logically independent project, which may never reunite with its parent. Branches are best used: when they are created as temporary places to work through a feature, with the intent to merge the branch with the origin
Shoutout to Victor for clarifying this.