मान लीजिए कि हमारे पास एक संख्या n है, यह एक सम्मेलन में प्रवेश करने वाले प्रोग्रामर का प्रतिनिधित्व कर रहा है, और हमारे पास संख्या की एक सूची भी है, सम्मेलन 1 एक प्रोग्रामर का प्रतिनिधित्व करता है और 0 खाली स्थान का प्रतिनिधित्व करता है। अब शर्त यह है कि कोई भी दो प्रोग्रामर एक दूसरे के बगल में नहीं बैठ सकते हैं, हमें यह जांचना होगा कि सभी एन प्रोग्रामर सम्मेलन में प्रवेश कर सकते हैं या नहीं।
इसलिए, यदि इनपुट n =2, कन्वेंशन =[0, 0, 1, 0, 0, 0, 1] जैसा है, तो आउटपुट सही होगा
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- मैं के लिए 0 से लेकर रूपा के आकार तक, करें
- a:=0 जब i-1 <0 अन्यथा i-1
- b:=रूपांतरण -1 का आकार जब i+1>=रूपांतरण का आकार अन्यथा i+1
- यदि रूपांतरण [i] 0 के समान है और रूपांतरण [a] 0 के समान है और रूपांतरण [b] 0 के समान है, तो
- रूपांतरण[i]:=1
- n :=n - 1
- सही लौटें जब n <=0, अन्यथा 0.
उदाहरण
class Solution: def solve(self, n, conv): for i in range(len(conv)): a=0 if i-1<0 else i-1 b=len(conv)-1 if i+1>=len(conv) else i+1 if conv[i]==0 and conv[a]==0 and conv[b]==0: conv[i]=1 n-=1 return n<=0 ob = Solution() n = 2 convention = [0, 0, 1, 0, 0, 0, 1] print(ob.solve(n, convention))
इनपुट
2, [0, 0, 1, 0, 0, 0, 1]
आउटपुट
True