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

यह जांचने का कार्यक्रम कि क्या हम पायथन में निकटतम संपर्कों से कम से कम k दूरी पर खड़े हो सकते हैं

मान लीजिए कि हमारे पास एक स्ट्रिंग s और एक संख्या k है। अब स्ट्रिंग में प्रत्येक वर्ण या तो डॉट ('।') या 'x' है, जहां डॉट एक खाली स्थान को इंगित करता है और 'x' एक व्यक्ति को इंगित करता है। हमें यह जांचना होगा कि क्या खड़े होने के लिए ऐसी स्थिति चुनना संभव है कि हमारे और हमारे सबसे करीबी व्यक्ति के बीच की दूरी कम से कम k हो। (यहाँ प्रत्येक पड़ोसी सूचकांकों के बीच की दूरी 1 है)।

इसलिए, यदि इनपुट s ="x...x..", k =2 जैसा है, तो आउटपुट ट्रू होगा, क्योंकि हम s[2] या s[6] पर खड़े हो सकते हैं।

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

  • pos :=s में x का स्थान, यदि मौजूद नहीं है, तो स्थिति -1 होगी
  • यदि pos, -1 या pos>=k के समान है, तो
    • सही लौटें
  • last_x :=pos
  • dist_min :=2*k-1
  • अनंत लूप करो, करो
    • next_x :=सूचकांक last_x+1 से अंत तक x में s का स्थान (यदि x मौजूद नहीं है, तो यह -1 होगा)
    • यदि अगला_x -1 के समान नहीं है, तो
      • अगर अगला_x-last_x-1>=dist_min, तो
        • सही लौटें
      • last_x :=next_x
    • अन्यथा,
      • यदि s -last_x-1>=k का आकार है, तो
        • झूठी वापसी
  • वापसी शून्य

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

उदाहरण

class Solution:
   def solve(self, s, k):
      pos = s.find("x")
      if pos==-1 or pos>=k: return True last_x = pos
         dist_min = 2*k-1
         while True:
            next_x = s.find("x", last_x+1)
            if next_x!=-1:
               if next_x-last_x-1 >= dist_min:
                  return True
                  last_x = next_x
            else:
               if len(s)-last_x-1>=k: return True
                  return False
         return None
ob = Solution() print(ob.solve("x...x..", 2))

इनपुट

"x...x..", 2

आउटपुट

True

  1. यह जाँचने के लिए कार्यक्रम कि क्या हम पायथन में सूचकांक 0 से अंतिम स्थान पर पहुँच सकते हैं

    मान लीजिए कि हमारे पास संख्याओं की एक सूची है जिसे अंक कहा जाता है, जहां प्रत्येक संख्या हमारे द्वारा की जा सकने वाली छलांगों की अधिकतम संख्या दर्शाती है; हमें यह जांचना होगा कि क्या हम इंडेक्स 0 से शुरू होने वाले अंतिम इंडेक्स तक पहुंच सकते हैं या नहीं। इसलिए, यदि इनपुट nums =[2,5,0,2,0] जैसा है,

  1. यह जांचने के लिए कार्यक्रम कि हम किसी भी शहर से किसी भी शहर की यात्रा कर सकते हैं या नहीं, पायथन में

    मान लीजिए कि हमारे पास n शहर हैं जिन्हें [0, n) की श्रेणी में एक संख्या के रूप में दर्शाया गया है और हमारे पास एक तरफ़ा सड़कों की एक सूची भी है जो एक शहर को दूसरे शहर से जोड़ती है। हमें यह जांचना होगा कि क्या हम किसी शहर से किसी शहर तक पहुंच सकते हैं। इसलिए, यदि इनपुट n =3 जैसा है, तो सड़कें =[[0,

  1. जाँच करने के लिए कार्यक्रम हम पायथन में k से शुरू करके सूची के अंत तक पहुँच सकते हैं

    मान लीजिए कि हमारे पास संख्याओं की एक सूची है जिसे अंक और दूसरी संख्या k कहा जाता है। यदि हम अनुक्रमणिका k से प्रारंभ करते हैं और किसी अनुक्रमणिका i पर, तो हम ठीक-ठीक अंकों [i] चरणों की संख्या से बाएँ या दाएँ जा सकते हैं। हमें यह जांचना होगा कि हम सूची के अंत तक पहुंच सकते हैं या नहीं। इसलिए, यदि इ