Skip to content

Commit 42c21f9

Browse files
committed
contents: reorganize algorithms section
1 parent 38d0038 commit 42c21f9

26 files changed

+191
-52
lines changed

contents/_courses/AlgorithmCourses.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
- [Grokking the Coding Interview: Patterns for Coding Questions](https://www.educative.io/courses/grokking-the-coding-interview?aff=x23W) - This course essentially expands upon the questions on this page but approaches the practicing from a questions pattern perspective rather than data structures, which is an approach I also agree with for learning and have personally used to get better at algorithmic problems. **Learn and understand patterns, not memorize answers!**
2+
- [Master the Coding Interview: Data Structures + Algorithms](https://fxo.co/DQoD) - This Udemy bestseller is one of the highest-rated interview preparation course (4.6 stars, 21.5k ratings, 135k students) and packs **19 hours** worth of contents into it. Like Tech Interview Handbook, it goes beyond coding interviews and covers resume, non-technical interviews, negotiations. It's an all-in-one package!

contents/algorithms/array.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,3 +48,9 @@ When you are given two arrays to process, it is common to have one index per arr
4848
- [3Sum](https://leetcode.com/problems/3sum/)
4949
- [Container With Most Water](https://leetcode.com/problems/container-with-most-water/)
5050
- [Sliding Window Maximum](https://leetcode.com/problems/sliding-window-maximum/)
51+
52+
## Recommended courses
53+
54+
import AlgorithmCourses from '../\_courses/AlgorithmCourses.md'
55+
56+
<AlgorithmCourses />

contents/algorithms/binary.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ Some helpful utility snippets:
1818
- Turn off k<sup>th</sup> bit: `num &= ~(1 << k)`.
1919
- Toggle the k<sup>th</sup> bit: `num ^= (1 << k)`.
2020
- To check if a number is a power of 2, `(num & num - 1) == 0` or `(num & (-num)) == num`.
21-
- Swapping two variables: `num1 ^= num2; num2 ^= num1; num1 ^= num2`
21+
- Swapping two variables: `num1 ^= num2; num2 ^= num1; num1 ^= num2`
2222

2323
## Corner cases
2424

@@ -32,3 +32,9 @@ Some helpful utility snippets:
3232
- [Counting Bits](https://leetcode.com/problems/counting-bits/)
3333
- [Missing Number](https://leetcode.com/problems/missing-number/)
3434
- [Reverse Bits](https://leetcode.com/problems/reverse-bits/)
35+
36+
## Recommended courses
37+
38+
import AlgorithmCourses from '../\_courses/AlgorithmCourses.md'
39+
40+
<AlgorithmCourses />

contents/algorithms/dynamic-programming.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@ Sometimes you do not need to store the whole DP table in memory, the last two va
2929
- [Unique Paths](https://leetcode.com/problems/unique-paths/)
3030
- [Jump Game](https://leetcode.com/problems/jump-game/)
3131

32-
## Courses
32+
## Recommended courses
3333

34-
- [Grokking the Dynamic Programming Patterns for Coding Interviews](https://www.educative.io/courses/grokking-dynamic-programming-patterns-for-coding-interviews?aff=x23W)
34+
import AlgorithmCourses from '../\_courses/AlgorithmCourses.md'
35+
36+
<AlgorithmCourses />

contents/algorithms/geometry.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,3 +15,9 @@ To find out if two circles overlap, check that the distance between the two cent
1515
- Which data structure would you use to query the k-nearest points of a set on a 2D plane?
1616
- Given many points, find k points that are closest to the origin.
1717
- How would you triangulate a polygon?
18+
19+
## Recommended courses
20+
21+
import AlgorithmCourses from '../\_courses/AlgorithmCourses.md'
22+
23+
<AlgorithmCourses />

contents/algorithms/graph.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,3 +115,9 @@ For additional tips on BFS and DFS, you can refer to this [LeetCode post](https:
115115
- [Alien Dictionary (LeetCode Premium)](https://leetcode.com/problems/alien-dictionary/)
116116
- [Graph Valid Tree (LeetCode Premium)](https://leetcode.com/problems/graph-valid-tree/)
117117
- [Number of Connected Components in an Undirected Graph (LeetCode Premium)](https://leetcode.com/problems/number-of-connected-components-in-an-undirected-graph/)
118+
119+
## Recommended courses
120+
121+
import AlgorithmCourses from '../\_courses/AlgorithmCourses.md'
122+
123+
<AlgorithmCourses />

contents/algorithms/hash-table.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,9 @@ title: Hash Table
88
- Describe an implementation of a least-used cache, and big-O notation of it.
99
- A question involving an API's integration with hash map where the buckets of hash map are made up of linked lists.
1010
- Implement data structure `Map` storing pairs of integers (key, value) and define following member functions in O(1) runtime: `void insert(key, value)`, `void delete(key)`, `int get(key)`, `int getRandomKey()`. [(Solution)](http://blog.gainlo.co/index.php/2016/08/14/uber-interview-question-map-implementation/)
11+
12+
## Recommended courses
13+
14+
import AlgorithmCourses from '../\_courses/AlgorithmCourses.md'
15+
16+
<AlgorithmCourses />

contents/algorithms/heap.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,3 +18,9 @@ If you require the top _k_ elements use a Min Heap of size _k_. Iterate through
1818
- [Merge K Sorted Lists](https://leetcode.com/problems/merge-k-sorted-lists/)
1919
- [Top K Frequent Elements](https://leetcode.com/problems/top-k-frequent-elements/)
2020
- [Find Median from Data Stream](https://leetcode.com/problems/find-median-from-data-stream/)
21+
22+
## Recommended courses
23+
24+
import AlgorithmCourses from '../\_courses/AlgorithmCourses.md'
25+
26+
<AlgorithmCourses />

contents/algorithms/interval.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,3 +38,9 @@ def merge_overlapping_intervals(a, b):
3838
- [Merge Intervals](https://leetcode.com/problems/merge-intervals/)
3939
- [Non-overlapping Intervals](https://leetcode.com/problems/non-overlapping-intervals/)
4040
- [Meeting Rooms (LeetCode Premium)](https://leetcode.com/problems/meeting-rooms/) and [Meeting Rooms II (LeetCode Premium)](https://leetcode.com/problems/meeting-rooms-ii/)
41+
42+
## Recommended courses
43+
44+
import AlgorithmCourses from '../\_courses/AlgorithmCourses.md'
45+
46+
<AlgorithmCourses />

contents/algorithms/introduction.md

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
---
22
id: algorithms-introduction
3-
title: Introduction to algorithms
3+
title: Algorithms tips
4+
description: Here are practical tips for each algorithm topic and data structure which appear frequently in coding interviews
45
sidebar_label: Introduction
56
slug: introduction
67
---
@@ -46,13 +47,15 @@ Hashmaps are probably the most commonly used data structure for algorithm questi
4647

4748
If you are cutting corners in your code, state that out loud to your interviewer and say what you would do in a non-interview setting (no time constraints). E.g., I would write a regex to parse this string rather than using `split()` which may not cover all cases.
4849

49-
## Algorithm courses
50+
## Recommended courses
5051

51-
If you want more structured algorithms practice, I recommend [Educative's Grokking the Coding Interview: Patterns for Coding Questions](https://www.educative.io/courses/grokking-the-coding-interview?aff=x23W) course. This course essentially expands upon the questions here but approaches the practicing from a questions pattern perspective rather than data structures, which is an approach I agree with for learning and getting better at algorithmic problems.
52+
import AlgorithmCourses from '../\_courses/AlgorithmCourses.md'
5253

53-
## References
54+
<AlgorithmCourses />
55+
56+
<!-- ## References
5457
5558
- [Educative's Grokking the Coding Interview: Patterns for Coding Questions](https://www.educative.io/courses/grokking-the-coding-interview?aff=x23W)
5659
- http://blog.triplebyte.com/how-to-pass-a-programming-interview
5760
- http://www.geeksforgeeks.org/must-do-coding-questions-for-companies-like-amazon-microsoft-adobe/
58-
- https://medium.com/basecs
61+
- https://medium.com/basecs -->

0 commit comments

Comments
 (0)