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

पायथन में एक लिस्ट के सबसे बड़े kth इंडेक्स मान को खोजने का प्रोग्राम

मान लीजिए हमारे पास तीन मान n, total, और k हैं। अब आकार n की एक सूची पर विचार करें जिसका योग total के बराबर है और जहां किन्हीं दो लगातार तत्वों के बीच निरपेक्ष अंतर अधिकतम 1 है। हमें ऐसी सूची में इंडेक्स k पर अधिकतम मान ढूंढना है।

उदाहरण के लिए, यदि इनपुट है n = 5, total = 15, k = 3, तो आउटपुट 4 होगा, क्योंकि एक संभावित सूची है [3,2,3,4,3], इंडेक्स 3 पर पाया गया अधिकतम तत्व 4 है।

एल्गोरिदम

  1. x := 0
  2. निम्नलिखित को बार-बार करें:
    • a := k + 1
    • s := (x + x - a + 1) * (a // 2)
    • a := n - k
    • s := s + (x + x - a + 1) * (a // 2)
    • s := s - x
    • यदि s > total, तो लूप से बाहर निकलें
    • x := x + 1
  3. x - 1 लौटाएं

उदाहरण कार्यान्वयन

def solve(n, total, k):
    x = 0
    while True:
        a = k + 1
        s = (x + x - a + 1) * a // 2
        a = n - k
        s += (x + x - a + 1) * a // 2
        s -= x
        if s > total:
            break
        x += 1
    return x - 1

n = 5
total = 15
k = 3
print(solve(n, total, k))  # आउटपुट: 4

इनपुट

5, 15, 3

आउटपुट

4
  1. Python में निर्देशित ग्राफ में सबसे बड़ा रंग मान ज्ञात करें Python में निर्देशित ग्राफ में सबसे बड़ा रंग मान ज्ञात करें

    एक निर्देशित ग्राफ दिया गया है जिसमें n रंगीन नोड्स और m एज हैं। प्रत्येक नोड का एक रंग (लोअरकेस अक्षर) है। एक वैध पथ नोड्स का अनुक्रम है जहां प्रत्येक नोड से अगले में निर्देशित एज है। पथ का रंग उस पथ में सबसे अधिक बार आने वाला नोड रंग है। सबसे बड़े रंग मान वाले वैध पथ को खोजें। यदि ग्राफ में साइकिल

  1. पायथन प्रोग्राम: लिस्ट का संचयी योग ज्ञात करें पायथन प्रोग्राम: लिस्ट का संचयी योग ज्ञात करें

    इस लेख में हम दी गई समस्या के समाधान के बारे में जानेंगे। समस्या कथन हमें एक लिस्ट दी गई है, हमें संचयी योग के साथ एक लिस्ट बनानी है। उदाहरण # संचयी योग def Cumulative(l): new = [] cumsum = 0 for element in l: cumsum += element new.append(cumsum) return new # ड्राइवर

  1. - पायथन प्रोग्राम: लिस्ट में सबसे बड़ा, सबसे छोटा, दूसरा सबसे बड़ा, और दूसरा सबसे छोटा ढूंढना

    ऐरे दिया गया है, हमें अधिकतम, न्यूनतम, दूसरा सबसे बड़ा, दूसरा सबसे छोटा नंबर ढूंढना है।एल्गोरिदमचरण 1: लिस्ट एलिमेंट इनपुट करें। चरण 2: हम एक नंबर लेते हैं और इसकी तुलना लिस्ट में मौजूद सभी अन्य नंबर्स से करते हैं। चरण 3: अधिकतम, न्यूनतम, दूसरा सबसे बड़ा, दूसरा सबसे छोटा नंबर प्राप्त करें।उदाहरण कोड