ट्रैक
/
Rust
Rust
/
अभ्यास
/
पत्रिका कटआउट
पत्रिका कटआउट

पत्रिका कटआउट

सीखने का अभ्यास

परिचय

Rust का एंट्री API किसी मैप की एक एंट्री को देखने का तरीका देता है। यह मैप HashMap हो या BTreeMap, कोई भी हो सकता है। एंट्री भरी हो सकती है या खाली, और API में ऐसे मेथड हैं जिनसे एंट्री की सामग्री बदली जा सकती है।

निर्देश

इस अभ्यास में आप HashMap और उसके entry API मेथड की मदद से एक साधारण एल्गोरिदम समस्या हल करेंगे।

मान लीजिए आपके पास एक &[&str] है जो किसी पत्रिका के लेख के शब्दों को दर्शाता है, और एक &[&str] है जो उस नोट के शब्दों को दर्शाता है जो आप भेजना चाहते हैं। क्या आप पत्रिका से शब्द काटकर और उन्हें चिपकाकर अपना नोट बना सकते हैं?

ध्यान दें:

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

आप इस अधूरे फंक्शन सिग्नेचर से शुरू करेंगे:

pub fn can_construct_note(magazine: &[&str], note: &[&str]) -> bool {
    todo!()
}

अब इस इनपुट को देखिए:

let magazine = "two times three is not four".split_whitespace().collect::<Vec<&str>>();
let note = "two times two is four".split_whitespace().collect::<Vec<&str>>();
assert!(!can_construct_note(&magazine, &note));

यह फंक्शन false लौटाता है, क्योंकि पत्रिका में "two" सिर्फ एक बार आया है, जबकि नोट में यह दो बार चाहिए।

अब यह इनपुट सफल होगा:

let magazine = "Astronomer Amy Mainzer spent hours chatting with Leonardo DiCaprio for Netflix's 'Don't Look Up'".split_whitespace().collect::<Vec<&str>>();
let note = "Amy Mainzer chatting with Leonardo DiCaprio"
    .split_whitespace()
    .collect::<Vec<&str>>();
assert!(can_construct_note(&magazine, &note));

यह फंक्शन true लौटाता है, क्योंकि पत्रिका में वे सारे शब्द मौजूद हैं जो नोट के लिए ज़रूरी हैं।

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

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

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