Trong tác vụ này, tôi cần có khoảng cách Hamming (khoảng cách Hamming giữa hai chuỗi có chiều dài bằng nhau là số vị trí mà các ký hiệu tương ứng khác nhau - từ Wikipedia) giữa hai chuỗi sequence1 và sequence2.Sử dụng vòng lặp để lấy khoảng cách Hamming giữa 2 chuỗi
Đầu tiên tôi đã tạo 2 chuỗi mới là 2 chuỗi gốc nhưng cả hai đều có chữ thường để dễ so sánh. Sau đó, tôi phải sử dụng vòng lặp for và nếu so sánh 2 chuỗi. Đối với bất kỳ sự khác biệt nào trong các ký tự trong 2 cặp chuỗi này, vòng lặp sẽ thêm 1 vào một int x = 0. Trả về của phương thức sẽ là giá trị của x này.
public static int getHammingDistance(String sequence1, String sequence2) {
int a = 0;
String sequenceX = sequence1.toLowerCase();
String sequenceY = sequence2.toLowerCase();
for (int x = 0; x < sequenceX.length(); x++) {
for (int y = 0; y < sequenceY.length(); y++) {
if (sequenceX.charAt(x) == sequenceY.charAt(y)) {
a += 0;
} else if (sequenceX.charAt(x) != sequenceY.charAt(y)) {
a += 1;
}
}
}
return a;
}
Vậy mã có vẻ tốt và đủ chức năng? Bất cứ điều gì tôi có thể sửa chữa hoặc để tối ưu hóa mã? Cảm ơn trước. Tôi là một noob lớn nên tôi xin lỗi nếu tôi hỏi bất cứ điều gì ngớ ngẩn
'bất cứ điều gì tôi có thể làm để khắc phục' là câu hỏi thuộc về đây. Câu hỏi 'tối ưu hóa 'thuộc về Code-Review –
Câu hỏi này phù hợp hơn với http://codereview.stackexchange.com/. Bạn sẽ nhận được câu trả lời đẹp hơn ở đó, quá. – jpaugh
là bài tập về nhà này? –