मान लीजिए हमारे पास एक संख्या n है। हमें n+1 लंबाई की एक लोअरकेस स्ट्रिंग की जांच करनी है ताकि किसी भी स्थिति पर कॅरेक्टर उसके तत्काल अगले कॅरेक्टर से लेक्सिकोग्राफिकली बड़ा हो।
उदाहरण के लिए, यदि इनपुट 15 है, तो आउटपुट होगा ponmlkjihgfedcba
समाधान दृष्टिकोण
इसे हल करने के लिए हम निम्नलिखित चरणों का पालन करेंगे:
- temp_str := खाली स्ट्रिंग
- extra := n मॉड 26
- यदि extra >= 1, तो:
- i के लिए 26 -(extra + 1) से 25 तक की रेंज में:
- temp_str := temp_str + str[i]
- count := n / 26 (पूर्णांक विभाजन)
- i के लिए 1 से count + 1 तक की रेंज में:
- j के लिए 0 से 25 तक की रेंज में:
- temp_str := temp_str + str[j]
- j के लिए 0 से 25 तक की रेंज में:
- i के लिए 26 -(extra + 1) से 25 तक की रेंज में:
- temp_str वापस करें
उदाहरण कोड
def show_string(n, str):
temp_str = ""
extra = n % 26
if (extra >= 1):
for i in range(26 - (extra + 1), 26):
temp_str += str[i]
count = n // 26
for i in range(1, count + 1):
for j in range(26):
temp_str += str[j]
return temp_str
n = 15
str = "zyxwvutsrqponmlkjihgfedcba"
print(show_string(n, str))
इनपुट
15
आउटपुट
ponmlkjihgfedcba