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

विपर्यय

आसान

परिचय

एक गैराज सेल में आपको बहुत सस्ते दाम पर एक सुंदर पुराना टाइपराइटर मिलता है! उत्साह में भरकर आप घर दौड़ते हैं, कागज़ का एक पन्ना डालते हैं और टाइप करने लगते हैं। लेकिन जब आप आउटपुट देखते हैं, तो आपका उत्साह ठंडा पड़ जाता है: सभी शब्द गड़बड़ निकलते हैं! जैसे, यह "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".

BufSet

हमारा सुझाव है कि detectAnagrams एक BufSet लौटाए।

BufSet स्ट्रिंग का एक सेट है, ठीक StringHashMap(void) की तरह, बस फ़र्क यह है कि कोई की डालने से पहले आपको उसकी कॉपी बनाने की ज़रूरत नहीं पड़ती। यह काम BufSet खुद कर लेता है।

Zig में हैश मैप के बारे में अधिक जानकारी के लिए देखिए:

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

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

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