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

पायथन में सभी को सीट मिल सकती है या नहीं, यह जांचने का कार्यक्रम

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

इसलिए, अगर इनपुट n =2 सीट =[1, 0, 0, 0, 1, 0, 0] जैसा है, तो आउटपुट सही होगा, क्योंकि वे इंडेक्स 2 और 6 पर बैठ सकते हैं।

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

  • सीटों की शुरुआत में 0 डालें और सीटों के अंत में [0, 1] डालें
  • res:=0, गैप:=0
  • प्रत्येक i सीट के लिए, करें
    • यदि मैं 0 के समान है, तो
      • अंतराल:=अंतराल + 1
    • अन्यथा जब गैप> 0, तब
      • res :=res + तल (अंतर -1)/2
      • अंतराल:=0
  • सही लौटें जब res>=n अन्यथा गलत हो

उदाहरण

आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -

def solve(n, seats):
   seats = [0] + seats + [0, 1]
   res = 0
   gap = 0
   for i in seats:
      if i == 0:
         gap += 1
      elif gap > 0:
         res += (gap - 1) // 2
         gap = 0
   return res >= n

n = 2
seats = [1, 0, 0, 0, 1, 0, 0]
print(solve(n, seats))

इनपुट

2, [1, 0, 0, 0, 1, 0, 0]

आउटपुट

True

  1. पायथन में नोड्स की अदला-बदली से दो पेड़ बन सकते हैं या नहीं, इसकी जाँच करने के लिए कार्यक्रम

    मान लीजिए कि हमारे पास दो पेड़ हैं, हमें यह जांचना होगा कि क्या हम किसी भी नोड के बाएँ और दाएँ सबट्री को कितनी भी बार स्वैप करके पहले पेड़ को दूसरे में बदल सकते हैं। तो, अगर इनपुट पसंद है तो आउटपुट सही होगा इसे हल करने के लिए, हम इन चरणों का पालन करेंगे - que1 :=शुरुआत में root0 वाली एक कतार

  1. पायथन में दिया गया ग्राफ द्विदलीय है या नहीं, यह जांचने के लिए कार्यक्रम

    मान लीजिए कि हमारे पास एक अप्रत्यक्ष ग्राफ है, हमें यह जांचना है कि ग्राफ द्विदलीय है या नहीं। जैसा कि हम जानते हैं कि एक ग्राफ द्विदलीय होता है जब हम ग्राफ के नोड्स को दो सेट ए और बी में विभाजित कर सकते हैं जैसे कि ग्राफ के प्रत्येक किनारे {यू, वी} में ए में एक नोड और बी में दूसरा नोड वी होता है।

  1. एक सूची खाली है या नहीं, यह जांचने के लिए पायथन प्रोग्राम?

    एक खाली सूची दी। हमारा काम मौसम की जांच करना है कि यह सूची खाली है या नहीं। यहाँ हम जाँच करते हैं जाँच का एक निहित तरीका है। एल्गोरिदम Step 1: We take an empty list. Step 2: then check if list is empty then return 1 otherwise 0. उदाहरण कोड # Python code to check for empty list def checklist(A):