Danh sách chủ đề

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ỏ

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. 5.2.3. Điều kiện thay đổi vị trí con trỏ

2.3. 5.2.4 Tiến hành chạy thuật toán

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

Bài học