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

পাইথনে একটি স্ট্রিংর সব সম্ভাব্য লেটার কম্বিনেশন খুঁজে বের করা

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

উদাহরণ

ইনপুট: s = "pqr"

আউটপুট: ['r', 'qr', 'q', 'pr', 'pqr', 'pq', 'p']

সমাধান পদ্ধতি

  1. st_arr নামে একটি খালি লিস্ট তৈরি করুন।
  2. i = len(s)-1 থেকে 0 পর্যন্ত উল্টে লুপ চালান:
    • j = 0 থেকে len(st_arr)-1 পর্যন্ত:
      • st_arr.append(s[i] + st_arr[j])
    • st_arr.append(s[i])
  3. st_arr রিটার্ন করুন।

পাইথন ইমপ্লিমেন্টেশন

def solve(s):
    st_arr = []
    for i in range(len(s) - 1, -1, -1):
        for j in range(len(st_arr)):
            st_arr.append(s[i] + st_arr[j])
        st_arr.append(s[i])
    return st_arr

# টেস্ট
s = "pqr"
print(solve(s))  # আউটপুট: ['r', 'qr', 'q', 'pr', 'pqr', 'pq', 'p']

ইনপুট

"pqr"

আউটপুট

['r', 'qr', 'q', 'pr', 'pqr', 'pq', 'p']
  1. দেওয়া স্ট্রিংয়ের সকল পারমিউটেশন প্রিন্ট করার পাইথন প্রোগ্রাম

  2. পাইথনে লিস্ট থেকে ইনপুট স্ট্রিং-এর ক্লোজ ম্যাচ (Close Matches) খুঁজে বের করা

  3. পাইথন প্রোগ্রাম: দেওয়া স্ট্রিং থেকে সকল সম্ভাব্য বৈধ IP ঠিকানা জেনারেট করা

  4. পাইথনে স্ট্রিংয়ের সকল সম্ভাব্য পারমুটেশন বের করা