मान लीजिए कि हमारे पास एक बाइनरी स्ट्रिंग है जिसकी लंबाई 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