কম্পিউটার টিউটোরিয়াল

পাইথনে প্যালিনড্রোমিক সাবস্ট্রিংর সংখ্যা গণনা করার প্রোগ্রাম


মান ল করুন একটি s স্ট্রিং, আমাদের s-এ প্যালিনড্রোমিক সাবস্ট্রিংর সংখ্যা খুঁজে বের করতে হবে।

যদি ইনপুট হয় s = "level", তবে আউটপুট হবে ৭, কারণ প্যালিনড্রোমিক সাবস্ট্রিংগুলো: ["l","e","v","e","l","eve","level"]

এটি সমাধান করতে আমরা নিম্নলিখিত ধাপগুলি অনুসরণ করব:

  • একটি check_palindrome() ফাংশন সংজ্ঞায়িত করুন। এটি string, left, right গ্রহণ করবে।
  • ans := 0
  • যখন left >= 0 এবং right < s-এর আকার:
    • যদি s[left] == s[right], ans := ans + 1, left := left - 1, right := right + 1
    • অন্যথায়, ans ফেরত দিন
  • ans ফেরত দিন
  • মূল মেথড থেকে: ans := 0, char_index কে ০ থেকে s-এর আকার পর্যন্ত লুপ চালান:
    • ans += check_palindrome(s, char_index - 1, char_index + 1)
    • ans += check_palindrome(s, char_index, char_index + 1)
  • (ans) + s-এর আকার ফেরত দিন

বेहतर বোঝার জন্য নিচের ইমপ্লিমেন্টেশনটি দেখুন:

উদাহরণ

class Solution:    def solve(self, s):       def check_palindrome(string, left, right):          ans = 0          while left >= 0 and right < len(s):             if s[left] == s[right]:                ans += 1                left -= 1                right += 1             else:                return ans          return ans       ans = 0       for char_index in range(len(s)):          ans += check_palindrome(s, char_index - 1, char_index + 1)          ans += check_palindrome(s, char_index, char_index + 1)       return (ans) + len(s) ob = Solution() print(ob.solve("level"))

ইনপুট

"level"

আউটপুট

7

  1. পাইথনে স্ট্রিং-এর সকল ভিন্ন উপস্ট্রিংয়ের সংখ্যা বের করার প্রোগ্রাম

  2. পাইথনে বাইনারি স্ট্রিং-এ সব ১ থাকা সাবস্ট্রিংয়ের সংখ্যা বের করার প্রোগ্রাম

  3. পাইথনে ব্র্যাকেট ডেপথ অনুযায়ী ক্যারেক্টার কাউন্ট করা

  4. পাইথন প্রোগ্রাম - n নোড দিয়ে BST-এর সংখ্যা বের করুন