Tag: sorting
10 รายการ
Blog

LeetCode #242 Valid Anagram: ช้าง กระรอก ผึ้ง นกฮูก ใครนับแม่นสุด
ตรวจคำสลับอักษรด้วย Python 4 วิธี ผ่านวงถกของสัตว์นักนับ พร้อมเทสต์และ benchmark ที่รันจริงบนเครื่องนี้

Java เรียงชื่อภาษาไทยให้ตรงพจนานุกรม: ทำไม Collections.sort ส่ง "เกศินี" ไปท้ายลิสต์ และ Collator แก้ยังไง
String.compareTo เรียงตามรหัส Unicode ทำให้ชื่อที่ขึ้นต้นด้วยสระหน้า เ แ โ ใ ไ ไปกองท้ายลิสต์ ใช้ java.text.Collator กับ Locale th-TH เรียงชื่อไทยให้ถูก ปรับ strength และใช้ให้ปลอดภัยกับหลายเธรด ทดสอบจริงบน JDK 21
Rust Iterator::is_sorted_by_key: ตรวจลำดับโดยไม่สร้าง Vec สำรอง
ตรวจ stream ว่าเรียงตาม priority หรือไม่ด้วย is_sorted_by_key พร้อม Cargo test และข้อควรระวังเรื่อง key
LeetCode 15 3Sum: sort แล้วบีบสองฝั่งเพื่อคุมชุดซ้ำ
เทียบ two pointers, hash per pivot และ brute-force oracle พร้อม complexity, duplicate rules, decision table และ Python tests
LeetCode 14 Longest Common Prefix: หดคำตั้งต้นจนทุกคำยอมรับ
เทียบ horizontal shrink, vertical scan และ sort first-last พร้อม complexity, edge cases, decision table และ Python tests
operator.attrgetter: ดึงฟิลด์เรียง/แมปโดยไม่เขียน lambda ซ้ำ
ใช้ operator.attrgetter ดึง attribute เดี่ยวหรือหลายตัว รวม dotted path สำหรับ sorted และ map
Java Comparator.nullsLast: วางค่าที่หายไว้ท้ายตารางโดยไม่เขียน if ซ้อน
ประกอบ Comparator ที่รองรับ null แล้วต่อ tie-breaker อย่างอ่านง่าย พร้อมอธิบายขอบเขตระหว่างข้อมูลหายกับข้อมูลผิด
Python itemgetter: เขียน sort key หลายช่องให้สั้นและเห็นลำดับชัด
ใช้ operator.itemgetter เรียง record ตามหลายฟิลด์ พร้อมจัดการค่ากลับทิศและข้อจำกัดของข้อมูลที่อาจขาด
LeetCode #128 Longest Consecutive Sequence: เริ่มนับเฉพาะหัวแถว
เทียบ sort กับ hash set สำหรับลำดับจำนวนเต็มต่อเนื่อง พร้อม complexity, duplicate edge cases และ unittest
LeetCode #75 Sort Colors: Counting เทียบ Dutch National Flag แบบเขียนทับในที่เดิม
เทียบ 3 วิธีเรียง 0,1,2 พร้อม invariant, mutation tradeoff, decision table และ unittest