Xử lý chuỗi
Mô tả
Tại nhà máy sản xuất thiết bị IoT VinSmart, mỗi thiết bị khi chạy dây chuyền được gắn hai loại mã: một mã thiết bị và một mã sản xuất. Để đối chiếu trước khi xuất kho, hệ thống cần trích xuất ra một mã đối chiếu chung từ hai mã trên. Quy tắc trích xuất như sau:
- Xét từng ký tự trong bảng chữ cái tiếng Anh (chỉ chữ cái in thường từ
ađếnz). - Nếu một ký tự xuất hiện ở cả hai chuỗi, ta đưa nó vào mã đối chiếu chung.
- Số lần đưa ký tự đó vào bằng số lần xuất hiện nhỏ hơn giữa hai chuỗi (tức là lấy tần suất nhỏ hơn).
- Cuối cùng, sắp xếp các ký tự thu được theo thứ tự bảng chữ cái tăng dần để tạo thành một chuỗi duy nhất.
Nhiệm vụ của bạn là viết hàm nhận vào mã thiết bị và mã sản xuất, rồi trả về mã đối chiếu chung theo đúng quy tắc trên.
Đầu vào
- Hai chuỗi
deviceCodevàbatchCode. - Mỗi chuỗi chỉ chứa các chữ cái in thường (
ađếnz).
Đầu ra
- Trả về một chuỗi là mã đối chiếu chung. Nếu không có ký tự nào chung, trả về chuỗi rỗng
"".
Ràng buộc
- Độ dài mỗi chuỗi:
1 ≤ len ≤ 10^5. - Chỉ chứa chữ cái in thường
a–z.
Ví dụ
Ví dụ 1:
- Đầu vào:
"abbcccdddd","bcdddeeff" - Đầu ra:
"bcddd"
Giải thích từng bước:
- Ký tự
b: xuất hiện 2 lần ở chuỗi 1, 1 lần ở chuỗi 2 → lấy min = 1 → thêm"b". - Ký tự
c: xuất hiện 3 lần ở chuỗi 1, 1 lần ở chuỗi 2 → lấy min = 1 → thêm"c". - Ký tự
d: xuất hiện 4 lần ở chuỗi 1, 3 lần ở chuỗi 2 → lấy min = 3 → thêm"ddd". - Các ký tự còn lại (
a,e,f) chỉ xuất hiện ở một trong hai chuỗi → bỏ qua. - Kết quả trước khi sắp xếp:
"b" + "c" + "ddd" = "bcddd". Đã đúng thứ tự bảng chữ cái.
Ví dụ 2:
- Đầu vào:
"abc","xyz" - Đầu ra:
""
Giải thích: Không có ký tự nào xuất hiện ở cả hai chuỗi, nên kết quả là chuỗi rỗng.