Danh sách

Nén chuỗi ký tự (Run-Length Encoding)

Trung bình
Mảng & Chuỗi (Arrays & Strings) 1200ms 256MB

Thực hiện giải thuật nén chuỗi cơ bản bằng phương pháp đếm số lần xuất hiện liên tiếp của ký tự (Run-Length Encoding). Ví dụ "aabcccccaaa" -> "a2b1c5a3".

Nếu chuỗi sau khi nén có độ dài không ngắn hơn chuỗi ban đầu, hãy trả về chuỗi gốc ban đầu.

Ví dụ 1:

Input: "aabcccccaaa"
Output: "a2b1c5a3"

Ví dụ 2:

Input: "abc"
Output: "abc"
Định Dạng Đầu Vào (Input)
Một dòng duy nhất chứa chuỗi ký tự s
Định Dạng Đầu Ra (Output)
Chuỗi kết quả nén hoặc chuỗi gốc
Ràng Buộc (Constraints)
  • 0 <= s.length <= 10^5
Ví Dụ Kiểm Thử Mẫu
Ví dụ 1:
Input:
"aabcccccaaa"
Output:
"a2b1c5a3"
Giải thích: Nén thành công
Ví dụ 2:
Input:
"abc"
Output:
"abc"
Giải thích: Không ngắn hơn gốc, giữ nguyê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 Đếm Tuyến Tính O(n)

Duyệt qua chuỗi đếm số ký tự liên tiếp. Khi chuyển ký tự hoặc hết chuỗi thì nối ký tự và số đếm vào kết quả.

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