मान लीजिए हमारे पास एक स्ट्रिंग s है, हमें यह जांचना है कि क्या हम इसे चार उप-स्ट्रिंग में विभाजित कर सकते हैं जैसे कि उनमें से प्रत्येक गैर-खाली और अद्वितीय हो।
तो, यदि इनपुट s = "helloworld" है, तो आउटपुट True होगा क्योंकि उप-स्ट्रिंग का एक संभावित सेट ["hel", "lo", "wor", "ld"] है।
हल करने के चरण
- यदि s का आकार >= 10, तो:
- True लौटाएं
- रेंज 1 से s के आकार - 1 तक के लिए i, करें:
- रेंज i + 1 से s के आकार - 1 तक के लिए j, करें:
- रेंज j + 1 से s के आकार - 1 तक के लिए k, करें:
- sub1 := s[इंडेक्स 0 से i - 1 तक]
- sub2 := s[इंडेक्स i से j - i - 1 तक]
- sub3 := s[इंडेक्स j से k - j - 1 तक]
- sub4 := s[इंडेक्स k से s के आकार - k - 1 तक]
- यदि sub1, sub2, sub3 और sub4 सभी अलग हैं, तो:
- True लौटाएं
- रेंज j + 1 से s के आकार - 1 तक के लिए k, करें:
- रेंज i + 1 से s के आकार - 1 तक के लिए j, करें:
- False लौटाएं
उदाहरण
def solve(s):
if len(s) >= 10:
return True
for i in range(1, len(s)):
for j in range(i + 1, len(s)):
for k in range(j + 1, len(s)):
sub1 = s[0:i]
sub2 = s[i:j - i]
sub3 = s[j: k - j]
sub4 = s[k: len(s) - k]
if sub1 != sub2 and sub1 != sub3 and sub1 != sub4 and sub2 != sub3 and sub2 != sub4 and sub3 != sub4:
return True
return False
s = "helloworld"
print(solve(s))
इनपुट
"helloworld"
आउटपुट
True