สมมติว่าเรามีรายการตัวเลข เราต้องตรวจสอบว่ารายการมีองค์ประกอบซ้ำหรือไม่ เช่นถ้ารายการเป็น [1,5,6,2,1,3] จะคืนค่า 1 เพราะมี 1 สองตัว แต่ถ้ารายการเป็น [1,2,3,4] จะเป็น false เพราะไม่มีค่าซ้ำ
ในการแก้ปัญหานี้ เราจะใช้แนวทางนี้:
เรารู้ว่าข้อมูลโครงสร้างเซต (set) เก็บข้อมูลที่ไม่ซ้ำกันเท่านั้น แต่วรายการ (list) สามารถเก็บข้อมูลซ้ำได้ ดังนั้นถ้าเราแปลงรายการเป็นเซต ขนาดจะลดลงถ้ามีองค์ประกอบซ้ำ โดยการเปรียบเทียบความยาว เราสามารถแก้ปัญหานี้ได้
ตัวอย่าง
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