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