สมมติว่าเรามีรายการตัวเลข เราต้องตรวจสอบว่ารายการมีองค์ประกอบที่ซ้ำกันหรือไม่ ดังนั้นหากรายการเป็นแบบ [1,5,6,2,1,3] ก็จะคืนค่า 1 เนื่องจากมี 1 สองรายการ แต่ถ้ารายการเป็น [1,2,3,4] ก็จะเป็น เท็จ เนื่องจากไม่มีข้อมูลซ้ำกัน
เพื่อแก้ปัญหานี้ เราจะปฏิบัติตามแนวทางนี้ -
เราทราบดีว่าโครงสร้างข้อมูลชุดเก็บเฉพาะข้อมูลที่ไม่ซ้ำ แต่รายการสามารถพับเนื้อหาที่ซ้ำกัน ดังนั้นหากเราแปลงรายการเป็นชุด ขนาดของรายการจะลดลงหากมีองค์ประกอบที่ซ้ำกัน โดยการจับคู่ความยาว เราสามารถแก้ปัญหานี้ได้
ตัวอย่าง
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -
class Solution(object): def containsDuplicate(self, nums): """ :type nums: List[int] :rtype: bool """ return not len(nums) == len(set(nums)) ob1 = Solution() print(ob1.containsDuplicate([1,5,6,2,1,3])) print(ob1.containsDuplicate([1,2,3,4]))
อินพุต
nums = [1,5,6,2,1,3] nums = [1,2,3,4]
ผลลัพธ์
True False