मान लीजिए कि हमारे पास nums नामक एक सरणी है जो k आकार के बाइनरी स्ट्रिंग के एन्कोडिंग का प्रतिनिधित्व करती है, हमें यह जांचना होगा कि दिया गया एन्कोडिंग विशिष्ट रूप से बाइनरी स्ट्रिंग पाता है या नहीं। यहां एन्कोडिंग में सन्निहित 1s की संख्या है जो एकल 0s द्वारा अलग किए गए हैं।
इसलिए, यदि इनपुट nums =[4, 2, 3] k =11 जैसा है, तो आउटपुट ट्रू होगा क्योंकि k =11 का 11110110111 जैसा बाइनरी स्ट्रिंग है।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- कुल:=अंकों में सभी तत्वों का योग
- कुल :=कुल + अंकों का आकार - 1
- सही लौटें जब कुल k के समान हो अन्यथा असत्य
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
उदाहरण
def solve(nums, k): total = sum(nums) total += len(nums) - 1 return total == k nums = [4, 2, 3] k = 11 print(solve(nums, k))
इनपुट
[4, 2, 3], 11
आउटपुट
True