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

पायथन में शून्य को सूची के अंत में इन-प्लेस ले जाएं


मान लीजिए हमारे पास nums नामक संख्याओं की एक सूची है, हमें सूची को इन-प्लेस अपडेट करके सभी शून्यों को सूची के अंत में रखना है। और अन्य तत्वों का सापेक्ष क्रम नहीं बदलना चाहिए। हमें इसे O(1) अतिरिक्त स्थान में हल करने का प्रयास करना है।

उदाहरण के लिए, यदि इनपुट है [2,0,1,4,0,5,6,4,0,1,7], तो आउटपुट होगा [2, 1, 4, 5, 6, 4, 1, 7, 0, 0, 0]।

हल करने के चरण

  • यदि L का आकार 0 के समान है, तो खाली सूची लौटाएं।
  • k := 0
  • i को 0 से L के आकार तक:
    • यदि L[i] != 0, तो:
      • L[k] := L[i]
      • k := k + 1
  • j को k से L के आकार तक:
    • L[j] := 0
  • L लौटाएं।

उदाहरण

class Solution:
    def solve(self, L):
        if len(L) == 0:
            return []
        k = 0
        for i in range(len(L)):
            if L[i] != 0:
                L[k] = L[i]
                k += 1
        for j in range(k, len(L)):
            L[j] = 0
        return L

ob = Solution()
L = [2, 0, 1, 4, 0, 5, 6, 4, 0, 1, 7]
print(ob.solve(L))

इनपुट

[2, 0, 1, 4, 0, 5, 6, 4, 0, 1, 7]

आउटपुट

[2, 1, 4, 5, 6, 4, 1, 7, 0, 0, 0]
  1. - पायथन में लिंक्ड लिस्ट से Nth नोड को अंत से हटाना

    मान लीजिए हमारे पास एक लिंक्ड लिस्ट है। हमें लिस्ट से अंत से Nth नोड को हटाना है, फिर उसका हेड लौटाना है। इसलिए यदि लिस्ट [1, 2, 3, 4, 5, 6] जैसी है और n = 3, तो लौटी लिस्ट [1, 2, 3, 5, 6] होगी।इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -यदि हेड के बाद कोई नोड नहीं है, तो None लौटाएंfront := hea

  1. - पायथन में जीरो डुप्लिकेट करना

    मान लीजिए हमारे पास इंटीजर्स की एक फिक्स्ड लेंथ ऐरे है, हमें जीरो की प्रत्येक ऑकरेंस को डुप्लिकेट करना है, शेष एलिमेंट्स को राइट साइड शिफ्ट करना है। ध्यान दें कि मूल ऐरे की लंबाई से परे के एलिमेंट्स नहीं लिखे जाते हैं। इसलिए मान लीजिए ऐरे [1,0,2,3,0,4,5,0] की तरह है, तो संशोधन के बाद यह [1,0,0,2,3,

  1. - पायथन में शून्य को हटाएं

    मान लीजिए हमारे पास कुछ संख्याओं को रखने के लिए एक सरणी है। इसमें शून्येतर मान के साथ-साथ शून्य मान भी हैं। इसलिए हमें अन्य संख्याओं के सापेक्ष क्रम को बदले बिना सभी शून्यों को दाईं ओर भेजना है। यदि सरणी [0, 1, 5, 0, 3, 8, 0, 0, 9] जैसी है, तो अंतिम सरणी [1, 5, 3, 8, 9, 0, 0, 0, 0] होगी। हल करने के