একটি স্ট্রিং s দেওয়া আছে। এর সব সম্ভাব্য লেটার কম্বিনেশন খুঁজে বের করতে হবে। যদি দুটি স্ট্রিংর ক্যারেক্টার সেট একই হয় তবে লেক্সিকোগ্রাফিক্যালি সবচেয়ে ছোটটি দেখাতে হবে। স্ট্রিংর প্রতিটি ক্যারেক্টার ইউনিক।
উদাহরণ
ইনপুট: s = "pqr"
আউটপুট: ['r', 'qr', 'q', 'pr', 'pqr', 'pq', 'p']
সমাধান পদ্ধতি
st_arrনামে একটি খালি লিস্ট তৈরি করুন।- i = len(s)-1 থেকে 0 পর্যন্ত উল্টে লুপ চালান:
- j = 0 থেকে len(st_arr)-1 পর্যন্ত:
st_arr.append(s[i] + st_arr[j])
st_arr.append(s[i])
- j = 0 থেকে len(st_arr)-1 পর্যন্ত:
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']