मान लीजिए हमारे पास एक बाइनरी स्ट्रिंग s है जिसकी लंबाई 2 या अधिक है। हमें यह जांचना है कि क्या हम s को पुनर्व्यवस्थित कर सकते हैं ताकि वैकल्पिक 0s और 1s हों।
तो, यदि इनपुट s = "1000111" है, तो आउटपुट True होगा क्योंकि हम s से "1010101" बना सकते हैं।
हल करने के चरण
- one_count := बाइनरी स्ट्रिंग s में 1 की संख्या
- zero_count := बाइनरी स्ट्रिंग s में 0 की संख्या
- यदि s का आकार सम है, तो:
- true लौटाएं जब one_count, zero_count के समान हो अन्यथा false
- true लौटाएं जब |one_count - zero_count|, 1 के समान हो अन्यथा false
उदाहरण
def solve(s):
one_count = s.count('1')
zero_count = s.count('0')
if len(s) % 2 == 0:
return (one_count == zero_count)
return abs(one_count - zero_count) == 1
s = "1000111"
print(solve(s))
इनपुट
"1000111"
आउटपुट
True