Menu
CoddyTech

Longest Consecutive Sequence

SedangHashingpython iconjava iconcpp iconc iconjs icon+10

Kamu mendapatkan array bilangan bulat nums yang tidak memiliki urutan tertentu. Urutan berurutan adalah sekumpulan nilai x, x+1, x+2, dan seterusnya, yang masing-masing muncul di suatu tempat dalam nums. Kembalikan panjang urutan berurutan terpanjang. Nilai yang muncul lebih dari sekali dihitung satu kali.

Fungsi

longestConsecutive(nums: integer-array) → integer
numsinteger-array
bilangan bulat, dalam urutan apa pun, boleh berulang
Mengembalikaninteger
panjang rentetan terpanjang dari nilai berurutan yang terdapat dalam nums

Batasan

  • 1 ≤ nums.length ≤ 104
  • -109 ≤ nums[i] ≤ 109
  • Nilai dapat berulang. Posisi dalam array tidak penting, yang penting hanya nilai mana yang ada.

Contoh

Input
nums = [40, 4, 39, 1, 3, 2, 41]
Output
4
Penjelasan
1, 2, 3, dan 4 semuanya ada, membentuk rangkaian berisi 4 angka, meskipun tersebar di dalam array. Rangkaian lainnya, dari 39 hingga 41, hanya memiliki 3 nilai.
challenge icon

Pertanyaan lanjutan

Misalkan nilai datang satu per satu dan setelah setiap nilai kamu harus melaporkan perulangan terpanjang sejauh ini. Bisakah kamu menjaga jawaban tetap terkini dalam waktu rata-rata O(1) per nilai?

Reset kode
def longestConsecutive(nums):
    # Tulis kodemu di sini

Tes #1

Tes #2

Tes #3

Argumen

nums = [40, 4, 39, 1, 3, 2, 41]

Output yang diharapkan

4