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

सबसे लंबे सबलिस्ट का आकार ज्ञात करने का पायथन प्रोग्राम जहां कार की गति स्थिर हो


मान लीजिए हमारे पास संख्याओं की एक सूची है जो समान समय अंतराल पर कार की स्थिति को दर्शाती है। हमें सबसे लंबे सबलिस्ट का आकार ढूंढना है जहां कार स्थिर गति से चल रही थी।

उदाहरण के लिए, यदि इनपुट positions = [0, 4, 8, 12, 6, 4, 0] है, तो आउटपुट 4 होगा, क्योंकि सबलिस्ट है [0, 4, 8, 12]।

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

  • j := 1
  • max_cnt := 0, current := 0
  • distance := |positions[0] - positions[1]|
  • जब तक j < positions का आकार, करें
    • prev := positions[j - 1]
    • यदि distance, |positions[j] - prev| के समान है, तो
      • current := current + 1
    • अन्यथा,
      • max_cnt := max_cnt और current में से अधिकतम
      • current := 1
      • distance := |positions[j] - prev|
    • max_cnt := max_cnt और current में से अधिकतम
    • j := j + 1
  • max_cnt + 1 लौटाएं

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

उदाहरण

class Solution:
    def solve(self, positions):
        j = 1
        max_cnt = 0
        current = 0
        distance = abs(positions[0] - positions[1])
        while j < len(positions):
            prev = positions[j - 1]
            if distance == abs(positions[j] - prev):
                current += 1
            else:
                max_cnt = max(max_cnt, current)
                current = 1
                distance = abs(positions[j] - prev)
            max_cnt = max(max_cnt, current)
            j += 1
        return max_cnt + 1

ob = Solution()
positions = [0, 4, 8, 12, 6, 4, 0]
print(ob.solve(positions))

इनपुट

[0, 4, 8, 12, 6, 4, 0]

आउटपुट

4

  1. पायथन में n-ary ट्री में सबसे लंबे पथ की लंबाई खोजने का प्रोग्राम पायथन में n-ary ट्री में सबसे लंबे पथ की लंबाई खोजने का प्रोग्राम

    मान लीजिए हमारे पास एक एज लिस्ट है जहां प्रत्येक आइटम (u, v) रखता है जो दर्शाता है कि u, v का पैरेंट है। हमें ट्री में सबसे लंबे पथ की लंबाई ढूंढनी है। पथ की लंबाई 1 + उस पथ में नोड्स की संख्या है। उदाहरण के लिए, यदि इनपुट है: तो आउटपुट 5 होगा, क्योंकि पथ [1, 4, 5, 7] है, कुल 4 नोड्स हैं, इसलिए पथ

  1. पायथन में ग्राफ में सबसे बड़े क्लिक का न्यूनतम आकार ज्ञात करने का प्रोग्राम पायथन में ग्राफ में सबसे बड़े क्लिक का न्यूनतम आकार ज्ञात करने का प्रोग्राम

    मान लीजिए हमें एक ग्राफ दिया गया है और हमें उसमें सबसे बड़े क्लिक का न्यूनतम आकार ढूंढना है। एक ग्राफ का क्लिक ग्राफ का एक उपसमुच्चय है जहां हर जोड़ी शीर्ष आसन्न होती है, यानी हर जोड़ी शीर्ष के बीच एक किनारा मौजूद होता है। ग्राफ में सबसे बड़ा क्लिक ढूंढना बहुपद समय में संभव नहीं है, इसलिए छोटे ग्रा

  1. Python में ग्रिड बॉक्स में गेंद कहां गिरेगी यह खोजने का प्रोग्राम Python में ग्रिड बॉक्स में गेंद कहां गिरेगी यह खोजने का प्रोग्राम

    मान लीजिए, हमें एक m x n ग्रिड बॉक्स दिया गया है, जहां प्रत्येक सेल में एक बोर्ड होता है जो या तो टॉप-राइट से बॉटम-लेफ्ट की ओर होता है, या टॉप-लेफ्ट से बॉटम-राइट की ओर। अब टॉप सेल्स से, एक गेंद को बॉक्स में डाला जाता है और हमें जांचना है कि क्या वह गेंद बॉक्स के नीचे पहुंचती है। ग्रिड को मैट्रिक्स