Tag: strings
16 รายการ
Blog

LeetCode #205 Isomorphic Strings: วาฬ แมว ลิง นกแก้ว ประชันสมุดแปลงอักษร
เข้าใจสตริงที่มีรูปแบบเดียวกันผ่านสัตว์การ์ตูน 4 วิธี พร้อมโค้ด 5 แบบ เทสต์ และ benchmark ที่รันจริงบนเครื่องนี้

ล้างรหัสงานด้วย Python removeprefix และ removesuffix ให้ข้อมูลไม่แหว่ง
ตัด INV- หน้าเลขคำสั่งซื้อและ .csv ท้ายชื่อไฟล์ให้ตรงจุด พร้อมเทสต์จับบั๊ก lstrip และ rstrip ที่มักเผลอลบเนื้อข้อมูลไปด้วย
Zig std.mem.replace: คำนวณขนาดก่อนแทนข้อความโดยไม่เดา buffer
ใช้ replacementSize คู่กับ replace เพื่อจองปลายทางพอดี ตรวจจำนวนครั้ง และกัน output โตเกินเพดาน
Go strings.FieldsFuncSeq: แยก token แบบ iterator ไม่ต้องสร้าง slice ทั้งก้อน
ใช้ FieldsFuncSeq เดิน token ทีละค่า หยุดได้เร็ว และคัดลอกเฉพาะข้อมูลที่ต้องเก็บ พร้อม Go test
Java String.formatted: ให้ template อยู่หน้าค่าที่นำมาเติม
ใช้ String.formatted สร้างข้อความที่อ่านจากซ้ายไปขวา พร้อม Locale, validation, logging และข้อห้ามนำ user input มาเป็น format string
LeetCode 79 Word Search: backtracking ที่คืนสถานะกระดานทุกทางออก
เทียบ visited set, in-place marking และ frequency pruning พร้อม complexity, edge cases, decision table และ Python tests
Go strings.SplitAfterSeq: แบ่งข้อความแบบ iterator โดยเก็บตัวคั่นไว้
ใช้ SplitAfterSeq อ่าน record ทีละส่วนโดยไม่สร้าง slice ทั้งก้อน พร้อมทดสอบ empty separator, single-use iterator และ ownership ของ substring
LeetCode 14 Longest Common Prefix: หดคำตั้งต้นจนทุกคำยอมรับ
เทียบ horizontal shrink, vertical scan และ sort first-last พร้อม complexity, edge cases, decision table และ Python tests
LeetCode #139 Word Break: ต่อคำให้เต็มสตริงโดยไม่หลงทางซ้ำ
เทียบ DP, memoized DFS, BFS และ trie พร้อม decision table และ Python unittest ที่รันจริง
LeetCode #125 Valid Palindrome: กรองก่อนหรือเดินสองด้าน แบบไหนเหมาะกว่า
เทียบ normalize-and-reverse, two pointers และ deque สำหรับตรวจ palindrome พร้อม complexity, Unicode caveat และ unittest
LeetCode #76 Minimum Window Substring: Sliding Window ที่นับ Duplicate ถูก
เทียบ brute force กับ sliding window พร้อม invariant ของ formed/required, complexity, edge cases และ unittest
LeetCode #5 Longest Palindromic Substring: ขยายจากกลาง, DP หรือ Manacher
เทียบสามวิธีหาพาลินโดรมยาวสุด พร้อม complexity, edge cases, decision table และ unittest ที่รันจริง
Java String.lines: อ่านข้อความหลายบรรทัดแบบ Stream โดยไม่ทิ้งท้ายด้วยช่องว่างปลอม
ใช้ lines แทน regex split เมื่อต้องประมวลผลบรรทัดตามนิยาม line terminator ของ Java

LeetCode #49 Group Anagrams: จัดกลุ่มคำที่ตัวอักษรเหมือนกัน
เทียบ sorted-key, count-tuple key และคู่มือเลือกใช้ พร้อมเทสต์ python รันได้
Rust 1.98: substr_range คืนช่วง byte ของ slice โดยไม่ค้นซ้ำ
ทำความเข้าใจ str::substr_range สำหรับเชื่อม string slice กลับสู่ตำแหน่งต้นฉบับ พร้อมข้อจำกัดเรื่อง provenance และ UTF-8

LeetCode #3 Longest Substring Without Repeating Characters: หน้าต่างเลื่อน
เทียบ brute force, set ขยาย/หด, และดัชนีล่าสุดของตัวอักษร พร้อมตารางเลือกวิธีและ unittest