Problem Struktur Data - Contains Duplicate

Link soal : https://leetcode.com/problems/contains-duplicate/

Pertanyaan:

Diberikan sebuah array integer nums , akan mengembalikan true jika terdapat setidaknya satu nilai yang duplikat dan false jika semuanya unik.

Contoh 1:

Masukan: nums = [1,2,3,1] Keluaran: true

Contoh 2:

Masukan: nums = [1,2,3,4] Keluaran: false

Contoh 3:

Masukan: nums = [1,1,1,3,3,4,3,2,4,2] Keluaran: true

Solusi

def containsDuplicate(nums):
    myset = set()

    for n in nums:
        if n in myset:
            return True
        myset.add(n)
    return False

Kita membuat objek myset untuk melacak duplikasi pada array. Set dalam Python hanya dapat menyimpan elemen unik, sehingga jika ada duplikasi, maka hanya satu salinan dari nilai tersebut yang akan ada dalam set. Selanjutnya adalah melakukan iterasi pada elemen yang ada di dalam nums, setiap elemen diperiksa apakah sudah ada dalam myset atau belum. Jika elemen tersebut ternyata sudah ada dalam myset, berarti ada duplikat di dalam nums dan fungsi mengembalikan True. Jika elemen belum ada dalam myset, elemen tersebut kemudian ditambahkan ke dalam set dengan menggunakan add(). Jika keseluruhan proses iterasi selesai dan tidak ditemukan nilai yang duplikat, maka fungsi akan mengembalikan False untuk menunjukkan bahwa tidak ada duplikasi dalam arraynums.