কম্পিউটার

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


ধরুন, আমাদেরকে 's' দ্বারা চিহ্নিত একটি সাবস্ট্রিং দেওয়া হয়েছে। আমাদের অনন্য সাবস্ট্রিংগুলি খুঁজে বের করতে হবে এবং আউটপুট হিসাবে এই সাবস্ট্রিংগুলির সংখ্যা ফেরত দিতে হবে৷

সুতরাং, ইনপুট যদি s ='prrstvt' এর মত হয়, তাহলে আউটপুট হবে 26।

স্বতন্ত্র সাবস্ট্রিং হবে −

'pr', 'rrs', 'st', 'rr', 'tv', 'rstv', 'stvt', 'prrstv', 'prrstvt', 'rrstvt', 's', 'prrst', 'stv' ', 'rrstv', 'rst', 'v', 'tvt', 'rstvt', 'r', 'rs', 'vt', 't', 'prr', 'p', 'rrst', এবং 'prrs'।

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

  • পরিদর্শন করেছেন :=একটি নতুন মানচিত্র
  • প্রতিটি সূচকের জন্য ind, এবং মান s, do
    • temp :=একটি নতুন সেট
    • যদি ind-1 পরিদর্শন করা হয়, তাহলে
      • প্রত্যেক has_let পরিদর্শন করা [ind-1] এর জন্য, করুন
        • তালিকা টেম্পে (has_let + let) যোগ করুন
    • তালিকায় যোগ করুন(চলুন)
    • পরিদর্শন [ইন্ড] :=টেম্প
  • res :=একটি নতুন সেট
  • পরিদর্শন করা প্রতিটি সেটের জন্য, করুন
    • res এ যোগ করুন(ভিজিট করা[সেট])
  • রেসের রিটার্ন সাইজ

উদাহরণ

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

def solve(s):visited =dict() ind এর জন্য, আসুন গণনা করি:temp =set() if ind-1 in visited:for has_let in visited[ind-1]:temp.add( has_let+let) temp.add(let) visited[ind] =temp res =সেট() পরিদর্শন করা সেটগুলির জন্য:res.update(visited[sets]) len(res)print(solve('prrstvt')) 

ইনপুট

'prrstvt'

আউটপুট

26

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

  2. পাইথনে প্রদত্ত স্ট্রিংয়ের সমস্ত স্বতন্ত্র প্যালিনড্রোমিক সাব-স্ট্রিং খুঁজুন

  3. একটি প্রদত্ত স্ট্রিং নম্বর প্যালিনড্রোম কিনা তা পরীক্ষা করার জন্য পাইথন প্রোগ্রাম

  4. পাইথন প্রোগ্রাম একটি প্রদত্ত স্ট্রিং এর বাইনারি রিপ্রেজেন্টেশনে সবচেয়ে বড় ধারাবাহিক 1 এর দৈর্ঘ্য খুঁজে বের করতে।