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

पायथन में मूल्यों की एक जोड़ी के बीच अधिकतम दूरी खोजने का कार्यक्रम

मान लीजिए कि हमारे पास दो सरणियाँ (गैर-बढ़ती) nums1 और nums2 हैं। सूचकांक जोड़ी (i, j) के साथ 0 <=i

इसलिए, यदि इनपुट nums1 =[60,40,15,10,5], nums2 =[115,30,25,15,10] जैसा है, तो आउटपुट 1 होगा, क्योंकि यहां मान्य जोड़े हैं (0,0 ), (2,2), (2,3), (3,3), (3,4) और (4,4), यहां अधिकतम दूरी 1 जोड़ी (2,3) या जोड़ी (3, 4)

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

  • यदि nums1 का अंतिम तत्व> nums2 का पहला eoelement है, तो

    • वापसी 0

  • i :=0, j :=0 और max_dist :=0

  • जबकि मैं <अंक 1 का आकार, करता हूं

    • अगर j

      • max_dist :=अधिकतम max_dist और (j-i)

      • जे:=जे + 1

    • अन्यथा,

      • जे:=जे + 1

      • मैं :=मैं + 1

  • वापसी max_dist

उदाहरण

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

def solve(nums1, nums2):
   if nums1[len(nums1)-1] > nums2[0]:
      return 0

   i = j = max_dist = 0
   while i < len(nums1):
      if j < len(nums2) and nums1[i] <= nums2[j]:
         max_dist = max(max_dist, j-i)
         j += 1

      else:
         j += 1
         i += 1

   return max_dist

nums1 = [60,40,15,10,5]
nums2 = [115,30,25,15,10]
print(solve(nums1, nums2))

इनपुट

[60,40,15,10,5], [115,30,25,15,10]

आउटपुट

1

  1. पायथन में समान लंबाई के k रिबन की अधिकतम लंबाई खोजने का कार्यक्रम

    मान लीजिए कि हमारे पास सकारात्मक संख्याओं की एक सूची है, जो रिबन की लंबाई का प्रतिनिधित्व करती है और एक मान k भी है। हम जितनी बार चाहें रिबन काट सकते हैं, हमें सबसे बड़ी लंबाई r ढूंढनी होगी जैसे कि हमारे पास लंबाई r के k रिबन हो सकें। अगर हमें ऐसा समाधान नहीं मिल रहा है, तो -1 पर लौटें। इसलिए, यदि

  1. पायथन में खाली और कब्जे वाली सीटों के बीच अधिकतम दूरी खोजने का कार्यक्रम

    मान लीजिए कि हमारे पास केवल 0s और 1s वाली एक सूची है जिसे सीटें कहते हैं। जहां सीटें [i] एक सीट का प्रतिनिधित्व करती हैं। जब यह 1 होता है, तो यह कब्जा कर लिया जाता है, अन्यथा मुक्त। कम से कम एक खाली सीट है और कम से कम एक कब्जा वाली सीट है, हमें एक मुफ्त सीट से निकटतम कब्जे वाली सीट तक की अधिकतम दूरी

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

    मान लीजिए कि हमारे पास एक मान n है और जोड़े की एक और सूची है जिसे प्रतिबंध कहा जाता है। हम एक शहर में नई इमारतें बनाना चाहते हैं। लेकिन कुछ प्रतिबंध हैं। हम एक लाइन में बना सकते हैं और इमारतों को 1 से n तक लेबल किया जाता है। प्रतिबंधों के दो पैरामीटर हैं, इसलिए प्रतिबंध [i] =(id_i, max_height_i) इंग