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

पायथन में इंडेक्स ढूंढना जिसके बाएं और दाएं तत्वों का योग बराबर हो


मान लीजिए हमारे पास nums नामक आइटम्स की एक लिस्ट है, हमें सबसे छोटा इंडेक्स i ढूंढना है जैसे कि i के बाईं ओर मौजूद संख्याओं का योग i के दाईं ओर मौजूद संख्याओं के योग के बराबर हो। यदि हम ऐसा कोई समाधान नहीं ढूंढ सकते, तो -1 लौटाएं।

उदाहरण के लिए, यदि इनपुट है nums = [8,2,3,6,5,2,5,9,1,2], तो आउटपुट होगा 4, क्योंकि इंडेक्स 4 के बाईं ओर के तत्वों का योग [8,2,3,6] = 19 है, और दाईं ओर मौजूद तत्वों का योग [2,5,9,1,2] = 19 भी है।

समाधान दृष्टिकोण

कुल योग की पूर्व-गणना करें, फिर लेफ्ट सम को ट्रैक करते हुए लीनियर स्कैन करें।

  • r = sum(nums) (राइट सम), l = 0 (लेफ्ट सम)।
  • प्रत्येक इंडेक्स i और मान x के लिए:
    • r -= x (वर्तमान तत्व को राइट से हटाएं)।
    • यदि r == l, तो i लौटाएं।
    • l += x (वर्तमान तत्व को लेफ्ट में जोड़ें)।
  • यदि नहीं मिला तो -1 लौटाएं।

पायथन कार्यान्वयन

def solve(nums):
    r = sum(nums)
    l = 0
    for i, x in enumerate(nums):
        r -= x
        if r == l:
            return i
        l += x
    return -1

nums = [8,2,3,6,5,2,5,9,1,2]
print(solve(nums))

इनपुट

[8,2,3,6,5,2,5,9,1,2]

आउटपुट

4

  1. पायथन में नोड और उसके वंशज के बीच अंतर खोजने का प्रोग्राम पायथन में नोड और उसके वंशज के बीच अंतर खोजने का प्रोग्राम

    मान लीजिए हमारे पास एक बाइनरी ट्री है, हमें किसी भी नोड और उसके वंशजों के बीच सबसे बड़ा निरपेक्ष अंतर ढूंढना है।उदाहरण के लिए, यदि इनपुट ट्री है:तो आउटपुट 7 होगा क्योंकि सबसे बड़ा निरपेक्ष अंतर नोड्स 8 और 1 के बीच है।समाधान दृष्टिकोणइसे हल करने के लिए हम निम्नलिखित चरणों का पालन करेंगे (पोस्ट-ऑर्डर

  1. - पायथन में k सबसे बड़े योग वाले सबलिस्ट्स खोजकर उनके योग को आरोही क्रम में लौटाने का प्रोग्राम

    मान लीजिए हमारे पास nums नामक संख्याओं की एक सूची है, और एक मान k, हमें k सबलिस्ट्स ढूंढनी हैं जिनके योग सबसे बड़े हैं और उनके योग को नॉन-डिक्रीजिंग क्रम में लौटाना है।उदाहरण के लिए, यदि इनपुट nums = [2, 4, 5, -100, 12, -30, 6, -2, 6] और k = 3 है, तो आउटपुट [10, 11, 12] होगा, क्योंकि ये 3 सबलिस्ट्स

  1. Python में ट्री के सभी एलिमेंट का योग खोजने का प्रोग्राम Python में ट्री के सभी एलिमेंट का योग खोजने का प्रोग्राम

    मान लीजिए हमारे पास कुछ मानों वाला एक बाइनरी ट्री है, हमें ट्री में सभी मानों का योग ढूंढना है। तो, यदि इनपुट इस तरह है तो आउटपुट 14 होगा। इसे हल करने के लिए, हम इन चरणों का पालन करेंगे: recurse() फ़ंक्शन परिभाषित करें। यह node लेगा val := node का मान यदि node का बाएं null नहीं है, तो val := va