Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

पायथन में प्रोग्रामर्स कन्वेंशन व्यवस्था की जांच करने का प्रोग्राम


मान लीजिए हमारे पास एक संख्या n है, जो कन्वेंशन में प्रवेश करने वाले प्रोग्रामर्स की संख्या दर्शाती है, और हमारे पास संख्याओं की एक सूची है, जहां कन्वेंशन 1 एक प्रोग्रामर को दर्शाता है और 0 खाली स्थान को दर्शाता है। अब शर्त यह है कि कोई दो प्रोग्रामर अगल-बगल नहीं बैठ सकते, हमें जांचना है कि क्या सभी n प्रोग्रामर कन्वेंशन में प्रवेश कर सकते हैं या नहीं।

उदाहरण के लिए, यदि इनपुट n = 2, convention = [0, 0, 1, 0, 0, 0, 1] है, तो आउटपुट True होगा।

इसे हल करने के लिए हम निम्न चरणों का पालन करेंगे:

  • i को 0 से conv के आकार तक के लिए करें:
    • a := 0 यदि i-1 < 0 अन्यथा i-1
    • b := conv का आकार -1 यदि i+1 >= conv का आकार अन्यथा i+1
    • यदि conv[i] == 0 और conv[a] == 0 और conv[b] == 0, तो:
      • conv[i] := 1
      • n := n - 1
  • सत्य वापस करें यदि n <= 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
  1. पायथन में हीप मैक्स हीप बना रहा है या नहीं जांचने का प्रोग्राम पायथन में हीप मैक्स हीप बना रहा है या नहीं जांचने का प्रोग्राम

    मान लीजिए हमारे पास एक सूची है जो हीप ट्री का प्रतिनिधित्व करती है। जैसा कि हम जानते हैं हीप एक पूर्ण बाइनरी ट्री है। हमें जांचना है कि तत्व मैक्स हीप बना रहे हैं या नहीं। जैसा कि हम जानते हैं मैक्स हीप के लिए प्रत्येक तत्व अपने दोनों बच्चों से बड़ा होता है। इसलिए, यदि इनपुट है nums = [8, 6, 4, 2, 0

  1. पायथन में प्रत्येक एलिमेंट को n बार दोहराकर रेप्लिकेटेड लिस्ट ढूंढने का प्रोग्राम पायथन में प्रत्येक एलिमेंट को n बार दोहराकर रेप्लिकेटेड लिस्ट ढूंढने का प्रोग्राम

    मान लीजिए हमारे पास n एलिमेंट्स की एक सूची है; हमें सूची में प्रत्येक एलिमेंट को n बार दोहराना है। तो, यदि इनपुट nums = [1,5,8,3] है, तो आउटपुट [1, 1, 1, 1, 5, 5, 5, 5, 8, 8, 8, 8, 3, 3, 3, 3] होगा। इसे हल करने के लिए, हम इन चरणों का पालन करेंगे: n := nums का आकार ret := एक नई सूची nums में प्रत्ये

  1. पायथन में दाएं k बार घुमाकर ith एलिमेंट ढूंढने का प्रोग्राम पायथन में दाएं k बार घुमाकर ith एलिमेंट ढूंढने का प्रोग्राम

    मान लीजिए हमारे पास nums नामक एक ऐरे है, और एक मान k और दूसरा मान i है। हमें nums के एलिमेंट्स को दाएं k बार घुमाने के बाद इंडेक्स i पर एलिमेंट ढूंढना है। तो, यदि इनपुट nums = [2,7,9,8,10] k = 3 i = 2 है, तो आउटपुट 10 होगा क्योंकि तीसरे रोटेशन के बाद ऐरे [9,8,10,2,7] होगा, इसलिए अब ith एलिमेंट nums[