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

পাইথনে ফোন কিপ্যাডের অঙ্ক থেকে সম্ভাব্য স্ট্রিং জেনারেট করার প্রোগ্রাম


২-৯ অঙ্কের স্ট্রিং দেওয়া আছে। টেলিফোন কিপ্যাডের ম্যাপিং অনুযায়ী সম্ভাব্য সব অক্ষর কম্বিনেশন বের করুন।

উদাহরণ: "49" → আউটপুট ['gw','gx','gy','gz','hw','hx','hy','hz','iw','ix','iy','iz']।

সমাধানের ধাপগুলো:

  • রিকার্সিভ ফাংশন দিয়ে প্রতিটি ডিজিটের জন্য অক্ষর যোগ করুন।
  • বেস কেস: করেন্ট লেভেল == ডিজিটের দৈর্ঘ্য।

উদাহরণ

class Solution(object):
    def letterCombinations(self, digits):
        if len(digits) == 0:
            return []
        characters = {2:"abc",3:"def",4:"ghi",5:"jkl",6:"mno",7:"pqrs",8:"tuv",9:"wxyz"}
        result = []
        self.solve(digits, characters, result)
        return result
    def solve(self, digits, characters, result, current_string="", current_level=0):
        if current_level == len(digits):
            result.append(current_string)
            return
        for i in characters[int(digits[current_level])]:
            self.solve(digits, characters, result, current_string + i, current_level + 1)

ob1 = Solution()
print(ob1.letterCombinations("49"))

ইনপুট

"49"

আউটপুট

['gw', 'gx', 'gy', 'gz', 'hw', 'hx', 'hy', 'hz', 'iw', 'ix', 'iy', 'iz']
  1. পাইথনে n ডিস্টিংচ নোড দিয়ে সম্ভাব্য BST-এর সংখ্যা বের করা

  2. পাইথনে সব সম্ভাব্য বৈধ পথ থেকে সর্বোচ্চ স্কোর বের করার প্রোগ্রাম

  3. Python দিয়ে সব নোডে পৌঁছাতে মিনিমাম ভার্টেক্স বের করার প্রোগ্রাম

  4. পাইথনে অ্যারেয়ের সব ডিজিট ব্যবহার করে ৩ দিয়ে বিভাজ্য সংখ্যা বানানো সম্ভব কিনা চেক করা