मान लीजिए कि हमारे पास एक बाइनरी स्ट्रिंग है जिसकी लंबाई 2 या अधिक है। हमें यह जांचना होगा कि क्या हम s को इस तरह से पुनर्व्यवस्थित कर सकते हैं कि वैकल्पिक 0s और 1s हैं।
इसलिए, यदि इनपुट s ="1000111" जैसा है, तो आउटपुट ट्रू होगा क्योंकि हम s से "1010101" बना सकते हैं।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- one_count :=बाइनरी स्ट्रिंग s में 1 की गिनती
- zero_count :=बाइनरी स्ट्रिंग s में 0 की गिनती
- यदि s का आकार सम है, तो
- सही लौटें जब one_count जीरो_काउंट के समान हो अन्यथा गलत
- सही लौटें जब |one_count - Zero_count| 1 जैसा ही है अन्यथा गलत है
उदाहरण
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
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