मान लीजिए हमारे पास एक स्ट्रिंग s है। हमें s में दिखाई देने वाले उसी क्रम में सभी शब्दों को वर्टिकली ढूंढना है। यहां शब्दों को स्ट्रिंग्स की लिस्ट के रूप में लौटाया जाता है, हमें आवश्यकता पड़ने पर स्पेसेस से पूरा करना होगा। (ट्रेलिंग स्पेसेस अनुमत नहीं हैं)। प्रत्येक शब्द केवल एक कॉलम में होगा और उस कॉलम में केवल एक शब्द होगा। इसलिए यदि इनपुट स्ट्रिंग \"HOW ARE YOU\" है, तो आउटपुट [\"HAY\", \"ORO\", \"WEU\"] होगा।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
s := स्पेसेस से विभाजित स्ट्रिंग्स की लिस्ट बनाएं, एक खाली ऐरे x बनाएं, row = 0 सेट करें
s में प्रत्येक शब्द i के लिए, row := row और i की लंबाई का मैक्स सेट करें
col := s की लंबाई
एक ऐरे बनाएं और खाली स्ट्रिंग से भरें, और इसका आकार row है
i को 0 से col - 1 तक रेंज में
j := 0
जब तक j < s[i] की लंबाई
जब तक i - ans[j] की लंबाई >= 1, ans[j] := ans[j] कन्कैटिनेट \" \"
ans[j] := ans[j] कन्कैटिनेट s[i, j]
j को 1 से बढ़ाएं
ans लौटाएं
उदाहरण (पायथन)
बेहतर समझ पाने के लिए निम्न कार्यान्वयन देखें -
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\"]