Hamming

Hamming

سهل

مقدمة

يتكوّن جسمك من خلايا تحتوي على DNA. تبلى هذه الخلايا بانتظام وتحتاج إلى استبدال، وهو ما تحققه بالانقسام إلى خلايا وليدة. في الواقع، يمرّ جسم الإنسان العادي بنحو 10 كوادريليون انقسام خلوي خلال حياته!

وعندما تنقسم الخلايا، يتضاعف الـ DNA فيها أيضًا. وأحيانًا تحدث أخطاء أثناء هذه العملية، فتُشفَّر قطع منفردة من الـ DNA بمعلومات غير صحيحة. وإذا قارنّا بين شريطين من الـ DNA وعددنا الفروق بينهما، أمكننا أن نرى كم من الأخطاء قد وقع. ويُعرف هذا باسم "Hamming distance".

إن مسافة "Hamming distance" مفيدة في مجالات علمية كثيرة، لا في علم الأحياء فحسب، لذا فهي عبارة جيدة أن تألفها :)

التعليمات

احسب مسافة هامينغ بين سلسلتَي DNA نصيتين.

نقرأ DNA باستخدام الحروف C وA وG وT. قد تبدو سلسلتان نصيتان هكذا:

GAGCCTACTAACGGGAT
CATCGTAATGACGGCCT
^ ^ ^  ^ ^    ^^

بينهما 7 اختلافات، ومن ثَمّ فإن مسافة هامينغ تساوي 7.

ملاحظات التنفيذ

لا تُعرَّف مسافة هامينغ إلا لسلاسل نصية متساوية الطول، لذا لا ينبغي أن تنجح محاولة حسابها بين سلسلتين نصيتين مختلفتين في الطول.

الأخطاء

عندما يختلف طول الضفيرتين، اطرح السلسلة النصية

"strands must be of equal length"

(حرفيًا).

تعديل عبر GitHub يفتح الرابط في نافذة أو علامة تبويب جديدة
Factor Exercism

مستعد لبدء Hamming؟

سجّل في Exercism لتتعلّم وتتقن Factor عبر 47 مفهومًا163 تمرينًا، وإرشاد بشري حقيقي، وكل ذلك مجانًا.