ट्रैक
/
Rust
Rust
/
अभ्यास
/
विपर्यय
विपर्यय

विपर्यय

मध्यम

परिचय

एक गैराज सेल में आपको बहुत सस्ते दाम पर एक सुंदर पुराना टाइपराइटर मिलता है! उत्साह में भरकर आप घर दौड़ते हैं, कागज़ का एक पन्ना डालते हैं और टाइप करने लगते हैं। लेकिन जब आप आउटपुट देखते हैं, तो आपका उत्साह ठंडा पड़ जाता है: सभी शब्द गड़बड़ निकलते हैं! जैसे, यह "post" की जगह "stop" छापता है और "stale" की जगह "least"। ध्यान से आप फिर कोशिश करते हैं, लेकिन अब यह "spot" और "slate" छापता है।

कुछ प्रयोग करने के बाद आप पाते हैं कि हर अक्षर छपने से पहले एक अनियमित देरी होती है, जिससे क्रम बिगड़ जाता है। अब आप समझ गए कि उन्होंने इसे इतने कम पैसों में क्यों बेचा!

आपको एहसास होता है कि इसी खूबी से आप एनाग्राम बना सकते हैं, यानी ऐसे शब्द जो किसी दूसरे शब्द के अक्षरों को नए क्रम में रखकर बनते हैं। अपनी खोज से खुश होकर आप दिन का बाकी समय सैकड़ों एनाग्राम बनाने में बिताते हैं।

निर्देश

आपको एक लक्ष्य शब्द और एक या अधिक संभावित शब्द दिए जाते हैं। आपका काम इन संभावित शब्दों में से वे शब्द ढूँढना है जो लक्ष्य के एनाग्राम हैं।

एनाग्राम का मतलब है अक्षरों को दोबारा लगाकर एक नया शब्द बनाना: जैसे "owns" शब्द "snow" का एनाग्राम है। कोई शब्द अपना ही एनाग्राम नहीं होता: जैसे "stop" शब्द "stop" का एनाग्राम नहीं है।

लक्ष्य शब्द और संभावित शब्द एक या अधिक ASCII अक्षरों से बने होते हैं (A-Z और a-z)। छोटे और बड़े अक्षर एक ही माने जाते हैं: जैसे "PoTS" शब्द "sTOp" का एनाग्राम है, लेकिन "StoP" शब्द "sTOp" का एनाग्राम नहीं है। आपको जो शब्द ढूँढने हैं, वे संभावित शब्दों में से ही लेने हैं, और उनमें छोटे-बड़े अक्षरों का वही रूप बना रहना चाहिए।

अगर लक्ष्य शब्द "stone" है और संभावित शब्द "stone", "tones", "banana", "tons", "notes" और "Seton" हैं, तो आपको जो एनाग्राम शब्द ढूँढने हैं वे हैं "tones", "notes" और "Seton".

Unicode और लाइफटाइम

Rust ट्रैक में संभावित अक्षर सिर्फ ASCII के अंग्रेज़ी अक्षर ही नहीं, बल्कि कोई भी Unicode अक्षर हो सकते हैं।

लाइफटाइम ठीक से काम करें, इसके लिए आपको स्टब में दिए गए फंक्शन सिग्नेचर में बदलाव करना पड़ेगा। यह जानबूझकर ऐसा है: जो वहाँ दिया गया है, वह लाइफटाइम सिंटैक्स की मूल बातें दिखाता है, और जो छूट गया है, वह सिखाता है कि लाइफटाइम से जुड़ी कंपाइलर एरर को कैसे समझा जाए।

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

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

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