ধরুন, আমাদের একটি অ্যারে দেওয়া হয়েছে যাতে একই দৈর্ঘ্যের বেশ কয়েকটি স্ট্রিং রয়েছে। আমাদের খুঁজে বের করতে হবে যে সরবরাহকৃত স্ট্রিংগুলির যেকোনো দুটি একই অবস্থানে একটি একক অক্ষর দ্বারা পৃথক কিনা। যদি এই পার্থক্যটি উপস্থিত থাকে, আমরা সত্য ফেরত দিই বা অন্যথায় আমরা মিথ্যা ফেরত দিই৷
সুতরাং, যদি ইনপুটটি dict =['pqrs', 'prqs', 'paqs'] এর মত হয়, তাহলে আউটপুট হবে True। উত্পাদিত আউটপুটটি সত্য কারণ ইনপুটে তালিকাভুক্ত স্ট্রিংগুলি সূচী 1-এ আলাদা। সুতরাং, যদি দুটি জোড়া নেওয়া হয় তবে একই অবস্থানে একটি পার্থক্য রয়েছে।
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
-
দেখা হয়েছে :=একটি নতুন সেট
-
প্রতিটি শব্দের জন্য dict, do
-
প্রতিটি সূচক i এবং অক্ষর c শব্দের জন্য, do
-
মুখোশ_শব্দ :=শব্দ [সূচী ০ থেকে i] + '।' + শব্দ [সূচী i+1 থেকে স্ট্রিং এর শেষ পর্যন্ত]
-
যদি মুখোশ_শব্দ দেখা যায়, তাহলে
-
রিটার্ন ট্রু
-
-
অন্যথায়,
-
দেখায় যোগ করুন(মুখোশ_শব্দ)
-
-
-
-
রিটার্ন ফলস
উদাহরণ (পাইথন)
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
def solve(dict): seens = set() for word in dict: for i, c in enumerate(word): masked_word = word[:i] + '.' + word[i+1:] if masked_word in seens: return True else: seens.add(masked_word) return False print(solve(['pqrs', 'prqs', 'paqs']))
ইনপুট
['pqrs', 'prqs', 'paqs']
আউটপুট
True