Danh sách

Tìm số xuất hiện duy nhất (Single Number)

Dễ
Bảng Băm & Tập Hợp (Hash Map & Hash Set) 800ms 128MB

Cho một mảng các số nguyên không rỗng nums. Mỗi phần tử xuất hiện đúng 2 lần, ngoại trừ đúng một phần tử chỉ xuất hiện 1 lần. Hãy tìm phần tử duy nhất đó.

Yêu cầu: Tuyến tính O(n) và O(1) bộ nhớ phụ.

Ví dụ 1:

Input: nums = [2, 2, 1]
Output: 1
Định Dạng Đầu Vào (Input)
Một dòng chứa mảng số nguyên nums
Định Dạng Đầu Ra (Output)
Một số nguyên duy nhất xuất hiện 1 lần
Ràng Buộc (Constraints)
  • 1 <= nums.length <= 3 * 10^4
Ví Dụ Kiểm Thử Mẫu
Ví dụ 1:
Input:
[2, 2, 1]
Output:
1
Giải thích: Số 1 xuất hiện 1 lần
Ví dụ 2:
Input:
[4, 1, 2, 1, 2]
Output:
4
Giải thích: Số 4 xuất hiện 1 lần
Gợi ý được sắp xếp theo cấp độ tiến dần. Hãy mở từng gợi ý khi bạn thực sự cần thêm định hướng.

Kỹ thuật Bitwise XOR O(1) Bộ Nhớ

Vì a ^ a = 0 và a ^ 0 = a, XOR toàn bộ mảng sẽ triệt tiêu các số lặp lại 2 lần, còn lại đúng số duy nhất.

Vui lòng đăng nhập

Đăng nhập tài khoản học viên để xem lịch sử nộp bài của bạn.

Đăng nhập
Ctrl + Enter: Chạy thử
Dữ liệu đầu vào (Input):
[2, 2, 1]
Kết quả kỳ vọng (Expected Output):
1
Dữ liệu đầu vào (Input):
[4, 1, 2, 1, 2]
Kết quả kỳ vọng (Expected Output):
4
Nhập STDIN của bạn (Mỗi dòng một tham số):

Bấm Chạy thử để kiểm tra các bộ test mẫu hoặc Nộp bài để chấm điểm chính thức.

Đang gửi mã và thực thi trên Sandbox Engine...
Nhấn Ctrl+Enter để chạy

vừa nâng cấp PRO khóa 1 phút trước   Tìm hiểu khóa học