ধরুন আমরা একটি স্ট্রিং s আছে. আমাদের উল্লম্বভাবে সমস্ত শব্দ খুঁজে বের করতে হবে যে ক্রমানুসারে তারা s তে উপস্থিত হয়। এখানে শব্দগুলি স্ট্রিংগুলির একটি তালিকা হিসাবে ফেরত দেওয়া হয়েছে, যখন প্রয়োজন তখন আমাদের স্পেস দিয়ে সম্পূর্ণ করতে হবে। (পরবর্তী স্থান অনুমোদিত নয়)। প্রতিটি শব্দ শুধুমাত্র একটি কলামে রাখা হবে এবং একটি কলামে একটি মাত্র শব্দ থাকবে। সুতরাং ইনপুট স্ট্রিং যদি হয় “তুমি কেমন আছো”, তাহলে আউটপুট হবে [“HAY”, “ORO”, “WEU”]
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
-
s :=স্পেস দ্বারা বিভক্ত স্ট্রিংগুলির একটি তালিকা তৈরি করুন, একটি খালি অ্যারে x তৈরি করুন, সারি =0 সেট করুন
-
প্রতিটি শব্দের জন্য I s, সারি সেট করুন :=সারির সর্বোচ্চ এবং i
এর দৈর্ঘ্য -
col :=s
এর দৈর্ঘ্য -
একটি অ্যারে তৈরি করুন এবং খালি স্ট্রিং দিয়ে পূর্ণ করুন এবং এর আকার হল সারি
-
আমি 0 থেকে col – 1
পরিসরে-
j :=0
-
যখন j
এর দৈর্ঘ্য-
যখন i – ans[j]>=1 এর দৈর্ঘ্য, ans[j] করুন :=ans[j] concatenate “”
-
ans[j] :=ans[j] concatenate s[i, j]
-
1 দ্বারা j বাড়ান
-
-
-
উত্তর ফেরত দিন
উদাহরণ (পাইথন)
আরো ভালোভাবে বোঝার জন্য নিচের বাস্তবায়নটি দেখি -
class Solution(object): def printVertically(self, s): s = s.split(" ") x = [] row = 0 for i in s: row = max(row, len(i)) col = len(s) ans = ["" for i in range(row)] j = 0 for i in range(col): j = 0 while j < len(s[i]): #print(j, i) while i - len(ans[j]) >= 1: ans[j] += " " ans[j] += s[i][j] j += 1 return ans ob = Solution() print(ob.printVertically("HOW ARE YOU")) print(ob.printVertically("TO BE OR NOT TO BE"))
ইনপুট
"HOW ARE YOU" "TO BE OR NOT TO BE"
আউটপুট
["HAY","ORO","WEU"] ["TBONTB","OEROOE"," T"]