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

पायथन में खाली और भरी सीटों के बीच अधिकतम दूरी ढूंढने का प्रोग्राम

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

तो, यदि इनपुट seats = [1, 0, 1, 0, 0, 0, 1] है, तो आउटपुट 2 होगा, क्योंकि हम seats[4] पर कब्जा कर सकते हैं, तब दूरी 2 है।

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

  • res := 0

  • last := -1

  • n := seats का आकार

  • i के लिए 0 से n - 1 तक की रेंज में, करें

    • यदि seats[i] 1 है, तो

      • res := res और (i यदि last < 0 अन्यथा (i-last)/2 का फ्लोर) का अधिकतम

      • last := i

  • res और (n-last-1) का अधिकतम लौटाएं

उदाहरण

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

def solve(seats):
    res, last, n = 0, -1, len(seats)
    for i in range(n):
        if seats[i]:
            res = max(res, i if last < 0 else (i - last) // 2)
            last = i
    return max(res, n - last - 1)

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

इनपुट

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

आउटपुट

2
  1. - पायथन में पहले n विषम संख्याओं का योग खोजने का प्रोग्राम

    मान लीजिए हमारे पास एक संख्या n है, हमें पहले n धनात्मक विषम संख्याओं का योग ढूंढना है। उदाहरण के लिए, यदि इनपुट 7 है, तो आउटपुट 49 होगा क्योंकि [1+3+5+7+9+11+13] = 49। इसे हल करने के लिए हम निम्न चरणों का पालन करेंगे: यदि n == 0, तो 0 वापस करें sum := 1, count := 0, temp := 1 जब तक count < n-1, क

  1. - पायथन में 1 से N तक की सभी गायब संख्याओं को खोजने का प्रोग्राम

    मान लीजिए हमारे पास nums नामक संख्याओं की एक सूची है जिसका आकार n है जहां सूची के सभी संख्याएं अंतराल [1, n] में मौजूद हैं कुछ तत्व दो बार दिखाई दे सकते हैं जबकि अन्य केवल एक बार। हमें [1, n] से उन सभी संख्याओं को ढूंढना है जो सूची में नहीं हैं। हमें संख्याओं को आरोही क्रम में क्रमबद्ध करके वापस कर

  1. - Python प्रोग्राम: तीन संख्याओं में से अधिकतम खोजें

    इस ट्यूटोरियल में, हम एक प्रोग्राम लिखेंगे जो तीन आंकड़ों में से अधिकतम राशि ढूंढता है। हमारे पास तीन संख्याएं होंगी, और हमारा लक्ष्य उन तीन संख्याओं में से अधिकतम संख्या ढूंढना है।बेहतर समझ के लिए कुछ नमूना टेस्ट केस देखें।इनपुट: a, b, c = 2, 34, 4 आउटपुट: 34इनपुट: a, b, c = 25, 3, 12 आउटपुट: 25इनप