Danh sách

Chuỗi con không chứa ký tự lặp lại dài nhất

Trung bình
Hai Con Trỏ & Cửa Sổ Trượt (Two Pointers & Sliding Window) 1200ms 256MB

Cho một chuỗi s. Hãy tìm độ dài của chuỗi con (substring) dài nhất mà trong đó không có bất kỳ ký tự nào bị lặp lại.

Ví dụ 1:

Input: s = "abcabcbb"
Output: 3
Giải thích: Chuỗi con không lặp dài nhất là "abc" với độ dài là 3.
Định Dạng Đầu Vào (Input)
Một dòng duy nhất chứa chuỗi s
Định Dạng Đầu Ra (Output)
Một số nguyên duy nhất là độ dài chuỗi con
Ràng Buộc (Constraints)
  • 0 <= s.length <= 5 * 10^4
Ví Dụ Kiểm Thử Mẫu
Ví dụ 1:
Input:
"abcabcbb"
Output:
3
Giải thích: "abc" dài 3
Ví dụ 2:
Input:
"bbbbb"
Output:
1
Giải thích: "b" dài 1
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 Cửa Sổ Trượt (Sliding Window) O(n)

Dùng con trỏ left và right cùng Map lưu vị trí ký tự. Khi gặp ký tự đã xuất hiện, dịch left qua vị trí cũ.

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):
"abcabcbb"
Kết quả kỳ vọng (Expected Output):
3
Dữ liệu đầu vào (Input):
"bbbbb"
Kết quả kỳ vọng (Expected Output):
1
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