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

उन इमारतों का पता लगाने के लिए कार्यक्रम जिनका पायथन में बेहतर दृश्य है

मान लीजिए, हमें एक सरणी प्रदान की जाती है जिसमें विभिन्न इमारतों की ऊंचाई होती है। इमारतें एक लाइन पर स्थित हैं, और एक इमारत एक बेहतर दृश्य है यदि यह किसी अन्य ऊंची इमारत से बाधित नहीं है। इसलिए, यदि ऊंचाई वाली सरणी प्रदान की जाती है, तो हमें उन इमारतों का पता लगाना होगा, जिनमें अन्य ऊंची इमारतें नहीं हैं, ताकि उनके दृश्य को बाधित किया जा सके। सूचकांकों को उस सरणी से लौटाया जाता है जो मानदंड को पूरा करती है।

इसलिए, यदि इनपुट ऊंचाई =[5, 6, 8, 7] की तरह है, तो आउटपुट [2, 3] होगा। एरे इंडेक्स 0 और 1 में बिल्डिंग इंडेक्स 2 पर बिल्डिंग द्वारा बाधित है। इंडेक्स 2 और 3 पर बिल्डिंग ब्लॉक नहीं है क्योंकि पोजिशन 2 पर ऊंची बिल्डिंग छोटी बिल्डिंग के पीछे पोजिशन 3 पर स्थित है।

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

  • res :=एक नई सूची
  • ज :=0
  • i के लिए (ऊंचाइयों का आकार -1) से -1 तक, 1 से घटाएं
    • यदि ऊंचाई[i]> h , तो
      • res के अंत में i डालें
      • ज :=ऊंचाई[i]
  • सूची का उल्टा लौटाएं

उदाहरण

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

def solve(heights):
   res, h = [], 0
   for i in range(len(heights) - 1, -1, -1):
      if heights[i] > h:
         res.append(i)
         h = heights[i]
   return res[::-1]

print(solve([5, 6, 8, 7]))

इनपुट

[5, 6, 8, 7]

आउटपुट

[2, 3]

  1. न्यूनतम लागत का पता लगाने के लिए कार्यक्रम ताकि नागरिकों की पायथन में बाजार तक पहुंच हो

    मान लीजिए, शहरों की संख्या n है और शहरों को जोड़ने वाली m सड़कें हैं। लोगों के नागरिकों को ऐसे बाजारों की जरूरत है जहां वे अपना सामान खरीद सकें। अब, शहरों में कोई बाजार नहीं है, और शहरों के बीच सड़कें निर्माणाधीन हैं। दो शहरों के बीच एक दो-तरफा सड़क बनाई जा सकती है यदि (i) शहर में एक बाजार हो; (ii)

  1. यह पता लगाने के लिए कार्यक्रम कि क्या पायथन में सभी के द्वारा ग्राफ़ को ट्रैवर्स किया जा सकता है

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

  1. पायथन में अध्ययन करने का प्रभावी तरीका खोजने का कार्यक्रम

    मान लीजिए, हमारे पास तीन सूचियाँ हैं जिनकी लंबाई समान है। ये समय सीमा, क्रेडिट और अवधि हैं। वे पाठ्यक्रम असाइनमेंट का प्रतिनिधित्व कर रहे हैं। i−th असाइनमेंट की समय सीमा के लिए [i] इसकी समय सीमा दिखाता है, क्रेडिट [i] अपना क्रेडिट दिखाता है, और अवधि [i] असाइनमेंट पूरा करने में लगने वाले दिनों की संख