Thách thức này là về viết mã để giải quyết vấn đề sau.
Cho hai chuỗi A và B, mã của bạn sẽ xuất ra các chỉ số bắt đầu và kết thúc của một chuỗi con của A với các thuộc tính sau.
- Chuỗi con của A cũng phải khớp với một số chuỗi con của B với tối đa một thay thế một ký tự trong chuỗi.
- Không nên có chuỗi con của A thỏa mãn thuộc tính đầu tiên.
Ví dụ:
A = xxxappleyyyyyyy
B = zapllezzz
Chuỗi con apple
có chỉ số 4 8
(lập chỉ mục từ 1) sẽ là đầu ra hợp lệ.
Ghi bàn
Điểm của câu trả lời của bạn sẽ là tổng độ dài mã của bạn tính bằng byte + thời gian tính bằng giây trên máy tính của tôi khi chạy trên chuỗi A và B có độ dài 1 triệu mỗi chuỗi.
Kiểm tra và đầu vào
Tôi sẽ chạy mã của bạn trên hai chuỗi có độ dài 1 triệu được lấy từ các chuỗi trong http: // hgdoad.cse.ucsc.edu/goldenPath/hg38/chromosomes/
Đầu vào sẽ ở trên tiêu chuẩn và đơn giản là hai chuỗi, cách nhau bởi một dòng mới.
Ngôn ngữ và thư viện
Bạn có thể sử dụng bất kỳ ngôn ngữ nào có trình biên dịch / trình thông dịch / có sẵn miễn phí. cho Linux và bất kỳ thư viện nào cũng là nguồn mở và có sẵn miễn phí cho Linux.
Máy của tôi Thời gian sẽ được chạy trên máy của tôi. Đây là bản cài đặt Ubuntu tiêu chuẩn trên Bộ xử lý tám lõi AMD FX-8350. Điều này cũng có nghĩa là tôi cần để có thể chạy mã của bạn. Do đó, chỉ sử dụng phần mềm miễn phí có sẵn dễ dàng và vui lòng bao gồm các hướng dẫn đầy đủ về cách biên dịch và chạy mã của bạn.
if(hash(str1 == test1 && str2 == test2)) print("100,150") else ..
- ý nghĩ?