मान लीजिए कि हमारे पास दो तार s और t हैं। हमें यह जांचना है कि s के वर्णों का उपयोग करके t बनाया जा सकता है या नहीं।
इसलिए, यदि इनपुट s ="owleh" t ="hello" जैसा है, तो आउटपुट ट्रू होगा।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- freq :=एक नक्शा जिसमें सभी वर्ण और उनकी आवृत्तियां शामिल हैं
- i के लिए 0 से t-1 के आकार की सीमा में, do
- अगर freq[t[i]] 0 है, तो
- झूठी वापसी
- freq[t[i]] :=freq[t[i]] - 1
- अगर freq[t[i]] 0 है, तो
- सही लौटें
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
उदाहरण कोड
from collections import defaultdict def solve(s, t): freq = defaultdict(int) for i in range(len(s)): freq[s[i]] += 1 for i in range(len(t)): if freq[t[i]] == 0: return False freq[t[i]] -= 1 return True s = "owhtlleh" t = "hello" print(solve(s, t))
इनपुट
"apuuppa"
आउटपुट
True