LeetCode 75 — ภาพรวม & วิธีเรียน
คอร์สพิชิต LeetCode 75 ทั้ง 75 ข้อ แบบละเอียดทีละข้อ — สอน concept ก่อน ให้ลองทำเอง แล้วค่อยเฉลยละเอียดเป็น Python
LeetCode 75 คือชุดโจทย์ 75 ข้อที่ LeetCode คัดมาเป็น "เส้นทางลัด" สำหรับปูพื้นฐาน Data Structures & Algorithms (DSA) ให้แน่นพอไปสอบสัมภาษณ์งานได้ จุดเด่นคือมันเรียงจากง่ายไปยากและครอบคลุมทุกเทคนิคสำคัญ โดยไม่ต้องไถ่โจทย์เป็นพันข้อ
โจทย์ LeetCode มีแค่คำถามกับช่องพิมพ์โค้ด แต่ไม่สอนว่า "ทำไม" คอร์สนี้จะสอน concept ของแต่ละหัวข้อให้ก่อน (เช่น Linked List, Recursion, Graph คืออะไร) แล้วค่อยลุยโจทย์ พร้อมเฉลยที่อธิบายทีละบรรทัด
วิธีเรียนให้ได้ผลที่สุด
- อ่าน concept ของหัวข้อนั้นให้เข้าใจก่อน (แต่ละหัวข้อมีบทปูพื้นฐานนำ)
- อ่านโจทย์ แล้วลองเขียนโค้ดเองก่อนอย่างน้อย 10–15 นาที — แม้ทำไม่ได้ก็มีค่า เพราะช่วง "ดิ้นรน" คือช่วงที่สมองเรียนรู้จริง
- ติดตรงไหนค่อยกดดูเฉลย + คำอธิบาย (ซ่อนไว้ในกล่อง "กดดูเฉลย")
- ทำเสร็จแล้วกลับมาอ่านเฉลยอีกรอบเพื่อเทียบว่ามีวิธีที่ดีกว่าไหม
ต้องรู้อะไรก่อนเริ่ม
แค่รู้พื้นฐาน Python ก็พอ (ตัวแปร, if, for/while, list, function) ส่วน concept ที่ลึกกว่านั้น เช่น Big-O, Linked List, Tree, Graph, Recursion — ไม่ต้องรู้มาก่อน ผมจะสอนให้ตรงจุดที่ต้องใช้
แผนที่ทั้งหมด — 22 หัวข้อ 75 ข้อ
ตารางนี้คือเส้นทางทั้งหมดที่เราจะเดินไปด้วยกัน แต่ละหัวข้อจะปลดล็อกทีละอันเมื่อเราเรียนถึง
| # | หัวข้อ | จำนวนข้อ | เทคนิคหลักที่ได้ |
|---|---|---|---|
| 1 | Array / String | 9 | การไล่ลิสต์, จัดการข้อความ |
| 2 | Two Pointers | 4 | ตัวชี้สองตัววิ่งเข้าหากัน |
| 3 | Sliding Window | 4 | หน้าต่างเลื่อนหาช่วงที่ดีที่สุด |
| 4 | Prefix Sum | 2 | ผลรวมสะสม |
| 5 | Hash Map / Set | 4 | นับ/จับคู่ด้วย dict, set |
| 6 | Stack | 3 | เข้าทีหลังออกก่อน (LIFO) |
| 7 | Queue | 2 | เข้าก่อนออกก่อน (FIFO) |
| 8 | Linked List | 4 | โครงสร้างต่อกันด้วย pointer |
| 9 | Binary Tree — DFS | 6 | ต้นไม้ + การเวียนซ้ำเชิงลึก |
| 10 | Binary Tree — BFS | 2 | ไล่ต้นไม้ทีละชั้น |
| 11 | Binary Search Tree | 2 | ต้นไม้ค้นหาแบบมีลำดับ |
| 12 | Graphs — DFS | 4 | กราฟ + ลุยลึก |
| 13 | Graphs — BFS | 2 | กราฟ + ลุยเป็นชั้น |
| 14 | Heap / Priority Queue | 4 | คิวลำดับความสำคัญ |
| 15 | Binary Search | 4 | ค้นหาแบบแบ่งครึ่ง |
| 16 | Backtracking | 2 | ลองทุกทางแล้วถอยกลับ |
| 17 | DP — 1 มิติ | 4 | โปรแกรมมิงเชิงพลวัต |
| 18 | DP — หลายมิติ | 4 | DP บนตาราง |
| 19 | Bit Manipulation | 3 | เล่นกับบิต 0/1 |
| 20 | Trie | 2 | ต้นไม้เก็บคำ (prefix tree) |
| 21 | Intervals | 2 | จัดการช่วงที่ทับกัน |
| 22 | Monotonic Stack | 2 | stack ที่คงลำดับเพิ่ม/ลด |
75 ข้อคือการวิ่งมาราธอน ไม่ใช่วิ่ง 100 เมตร ทำวันละ 1–2 ข้ออย่างเข้าใจ ดีกว่ารีบทำ 10 ข้อแบบลอกเฉลย เป้าหมายคือ "เห็น pattern ออก" ไม่ใช่ "จำคำตอบ"
ระดับความยาก
ข่าวดี: LeetCode 75 ทั้งชุดมีแค่ระดับ Easy กับ Medium ไม่มี Hard เลย จึงเหมาะกับการปูพื้นฐานมาก
| สัญลักษณ์ | ระดับ | ควรทำได้ภายใน |
|---|---|---|
| 🟢 | Easy — ใช้ความรู้พื้นฐานตรง ๆ | 10–15 นาที |
| 🟡 | Medium — ต้องผสมหลายแนวคิด | 20–30 นาที |