কম্পিউটার

পাইথনে শব্দ তালিকার ভিতরে উপস্থিত পরবর্তী সংখ্যার সংখ্যা খুঁজে বের করার প্রোগ্রাম


ধরুন আমাদের কাছে শব্দের একটি তালিকা এবং একটি স্ট্রিং s আছে, আমাদেরকে শব্দ তালিকায় স্ট্রিংগুলির সংখ্যা খুঁজে বের করতে হবে যেগুলি s-এর পরবর্তী।

সুতরাং, যদি ইনপুটটি শব্দের মত হয় =["xz", "xw", "y"] s ="xyz", তাহলে আউটপুট হবে 2, কারণ "xz" এবং "y" হল "xyz"-এর পরবর্তী অংশ।

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

  • উত্তর :=0
  • d :=একটি খালি মানচিত্র
  • শব্দে প্রতিটি শব্দের জন্য, করুন
    • d[word[0]] এর শেষে শব্দ ঢোকান
  • s-এ প্রতিটি c-এর জন্য, করুন
    • l :=d[c]
    • d[c] :=একটি নতুন তালিকা
    • l-এর প্রতিটি শব্দের জন্য, কর
      • শব্দের আকার 1 হলে,
        • উত্তর :=উত্তর + ১
      • অন্যথায়,
        • d[word[1]] এর শেষে [সূচী 1 থেকে শেষ পর্যন্ত] শব্দের সাবস্ট্রিং সন্নিবেশ করুন
  • উত্তর ফেরত দিন

আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

উদাহরণ

from collections import defaultdict
class Solution:
   def solve(self, words, s):
      ans = 0

      d = defaultdict(list)
      for word in words:
         d[word[0]].append(word)

      for c in s:
         l = d[c]
         d[c] = []

         for word in l:
            if len(word) == 1:
               ans += 1
            else:
               d[word[1]].append(word[1:])
      return ans
ob = Solution()
words = ["xz", "xw", "y"]
s = "xyz"
print(ob.solve(words, s))

ইনপুট

["xz", "xw", "y"], "xyz"

আউটপুট

2

  1. পাইথন প্রোগ্রাম একটি তালিকার ক্ষুদ্রতম সংখ্যা খুঁজে বের করতে

  2. একটি তালিকায় দ্বিতীয় বৃহত্তম সংখ্যা খুঁজে পেতে পাইথন প্রোগ্রাম

  3. পাইথন প্রোগ্রাম একটি তালিকায় সবচেয়ে বড় সংখ্যা খুঁজে বের করতে

  4. পাইথন প্রোগ্রাম একটি তালিকায় সবচেয়ে বড় সংখ্যা খুঁজে বের করতে