Hamming

Hamming

आसान

निर्देश

दो डीएनए लड़ियों के बीच हैमिंग डिस्टेंस निकालिए।

आपका शरीर कोशिकाओं से बना है, और इन कोशिकाओं में डीएनए होता है। ये कोशिकाएँ समय-समय पर पुरानी हो जाती हैं और इन्हें बदलने की ज़रूरत पड़ती है। कोशिकाएँ खुद को विभाजित करके नई कोशिकाएँ बनाती हैं। वास्तव में, एक औसत मानव शरीर में जीवन भर लगभग 10 क्वाड्रिलियन कोशिका विभाजन होते हैं!

जब कोशिकाएँ विभाजित होती हैं, तो उनका डीएनए भी दोहराया जाता है। कभी-कभी इस प्रक्रिया के दौरान गलतियाँ हो जाती हैं और डीएनए के कुछ हिस्सों में गलत जानकारी दर्ज हो जाती है। अगर हम डीएनए की दो लड़ियों की तुलना करें और उनके बीच के अंतर गिनें, तो हम देख सकते हैं कि कितनी गलतियाँ हुईं। इसे हैमिंग डिस्टेंस कहा जाता है।

हम डीएनए को C, A, G और T अक्षरों की मदद से पढ़ते हैं। दो लड़ियाँ कुछ इस तरह दिख सकती हैं:

GAGCCTACTAACGGGAT
CATCGTAATGACGGCCT
^ ^ ^  ^ ^    ^^

इनमें 7 अंतर हैं, इसलिए हैमिंग डिस्टेंस 7 है।

हैमिंग डिस्टेंस सिर्फ जीव विज्ञान में ही नहीं, बल्कि विज्ञान की कई और चीज़ों में भी काम आता है, तो यह ऐसा शब्द है जिससे परिचित होना अच्छा रहता है :)

कार्यान्वयन नोट्स

हैमिंग डिस्टेंस सिर्फ बराबर लंबाई वाली शृंखलाओं के लिए परिभाषित है, इसलिए अलग-अलग लंबाई वाली शृंखलाओं के बीच इसकी गणना करने की कोशिश काम नहीं करनी चाहिए।

ध्यान दें

Smalltalk में एक्सेप्शन, Exception के सबक्लास के इंस्टेंस होते हैं। आप अपने डोमेन के लिए अपने खुद के एक्सेप्शन बना सकते हैं, लेकिन इस हाइरार्की को देखें तो आप अपने हल को आसान बनाने के लिए उसमें से कोई उपयुक्त एक्सेप्शन चुन सकते हैं।

GitHub के ज़रिए संपादित करें यह लिंक एक नई विंडो या टैब में खुलता है
Pharo Exercism

Hamming शुरू करने के लिए तैयार हैं?

Exercism पर साइन अप कीजिए और Pharo को 50 अभ्यास तथा असली इंसानों से मिलने वाली मेंटरिंग के साथ सीखिए और उसमें महारत हासिल कीजिए, वह भी बिल्कुल मुफ्त।