List of topics
Giới thiệu về lớp học + cách luyện thuật toán trên Leetcode
Đào sâu vào phân tích thuật toán
Chuỗi - String
Chữa bài tập phân tích thuật toán
Mảng - Array
Hai con trỏ - Two Pointers
Chữa bài tập Chuỗi + Mảng
Ngăn xếp và Hàng đợi - Stack & Queue
Đệ quy
Chữa bài hai con trỏ + ngăn xếp
Thuật toán sắp xếp - Giải thuật tham lam
Đống - Heap
Đồ thị - Graph
Chữa bài đệ quy + sắp xếp + giải thuật tham lam
Thuật toán BFS
Thuật toán DFS
Chữa bài Heap + Đồ thị
Thuật toán Dijkstra
Cấu trúc dữ liệu Union Find
Chữa bài tập BFS + DFS
Toán học
Cây - Tree
Tìm kiếm nhị phân - Binary Search
Chữa bài Dijkstra + Union Find
Cây tìm kiếm nhị phân - Binary Search Tree
Danh sách liên kết - Linked List
Chữa bài toán + gợi ý các bài cây
Quy hoạch động cơ bản - Knapsack
Ứng dụng quy hoạch động trong trí tuệ nhân tạo
Chữa bài cây nhị phân + Tìm kiếm nhị phân
Hai con trỏ - Two Pointers
Kỹ thuật 2 con trỏ là một trong những kỹ thuật điển hình để tìm ra mảng con/ chuỗi con thỏa mãn một điều kiện cho trước.
Chi tiết:
- Giới thiệu kỹ thuật hai con trỏ
- Cách phát hiện những bài toán có thể áp dụng hai con trỏ
- Bài toán tìm mảng con có tổng bằng K
- So sánh thuật toán thường và hai con trỏ
Một số dạng Leetcode hay gặp:
- Chuỗi con / Mảng con thỏa mãn một điều kiện cho trước
- Chuỗi con / Mảng con ngắn/ dài nhất thỏa mãn một điều kiện cho trước
1. Giới thiệu kỹ thuật hai con trỏ
1.1. 5.1. Giới thiệu hai con trỏ
1.2. [LC] Phát hiện những bài toán có thể sử dụng 2 con trỏ
Click to view more
2. Bài toán tìm mảng con có tổng bằng K
2.1. 5.2.1 Bài toán tìm mảng con có tổng bằng K cho trước
2.2. [LC] 5.2.2. Bạn nghĩ có thể sử dụng 2 vòng for để thực hiện bài này không?
Click to view more
2.3. 5.2.3. Điều kiện thay đổi vị trí con trỏ
2.4. 5.2.4 Tiến hành chạy thuật toán
2.5. [LC] 5.2.5. Bạn nghĩ rằng thuật toán trên có giải quyết được bài toán này không?
Click to view more
2.6. [LC] 5.2.6 Sắp xếp theo thứ tự để ra được đoạn code hoàn chỉnh
Click to view more
3. Gợi ý làm bài tập
3.1. [LC] 5.3. Gợi ý 1004. Max Consecutive Ones III
Click to view more
4. Slide bài giảng
4.1. 4. Two Pointers - v2.pdf
5. Bài tập
5.1. Leetcode 1004 - Max Consecutive Ones III
Click to view more
5.2. Leetcode 845 - Longest Mountain in ArrayCode challenge title
Click to view more
5.3. Leetcode 3 - Longest Substring Without Repeating Characters
Click to view more
5.4. Leetcode 1234 - Replace the Substring for Balanced String
Click to view more
1. Giới thiệu kỹ thuật hai con trỏ
1.1. 5.1. Giới thiệu hai con trỏ
1.2. [LC] Phát hiện những bài toán có thể sử dụng 2 con trỏ
2. Bài toán tìm mảng con có tổng bằng K
2.1. 5.2.1 Bài toán tìm mảng con có tổng bằng K cho trước
2.2. [LC] 5.2.2. Bạn nghĩ có thể sử dụng 2 vòng for để thực hiện bài này không?
2.3. 5.2.3. Điều kiện thay đổi vị trí con trỏ
2.4. 5.2.4 Tiến hành chạy thuật toán
2.5. [LC] 5.2.5. Bạn nghĩ rằng thuật toán trên có giải quyết được bài toán này không?
2.6. [LC] 5.2.6 Sắp xếp theo thứ tự để ra được đoạn code hoàn chỉnh
3. Gợi ý làm bài tập
3.1. [LC] 5.3. Gợi ý 1004. Max Consecutive Ones III
4. Slide bài giảng
4.1. 4. Two Pointers - v2.pdf
5. Bài tập
5.1. Leetcode 1004 - Max Consecutive Ones III
5.2. Leetcode 845 - Longest Mountain in ArrayCode challenge title
5.3. Leetcode 3 - Longest Substring Without Repeating Characters
5.4. Leetcode 1234 - Replace the Substring for Balanced String