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

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

मान लीजिए कि हमारे पास संख्याओं की एक सूची है, हमें सूची को जगह में अद्यतन करके सभी शून्यों को सूची के अंत में रखना होगा। और अन्य तत्वों के सापेक्ष क्रम को नहीं बदला जाना चाहिए। हमें इसे 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 के समान नहीं है, तो
      • एल[के] :=एल[i]
      • k :=k + 1
  • जे रेंज k से L के आकार के लिए, करें
    • एल[जे] :=0
  • रिटर्न एल

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

उदाहरण

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 नोड को हटाना होगा, फिर उसका सिर वापस करना होगा। तो अगर सूची [1, 2, 3, 4, 5, 6] और n =3 जैसी है, तो लौटाई गई सूची [1, 2, 3, 5, 6] होगी। इसे हल करने के लिए, हम इन चरणों का पालन करेंगे - यदि सिर के बाद कोई नोड नहीं है, तो कोई नहीं लौटाए

  1. पायथन में डुप्लिकेट शून्य

    मान लीजिए कि हमारे पास पूर्णांकों की एक निश्चित लंबाई वाली सरणी है, हमें शून्य की प्रत्येक घटना की नकल करनी होगी, शेष तत्वों को दाईं ओर स्थानांतरित करना होगा। ध्यान दें कि मूल सरणी की लंबाई से अधिक के तत्व नहीं लिखे गए हैं। तो मान लीजिए कि सरणी [1,0,2,3,0,4,5,0] की तरह है, तो संशोधन के बाद यह [1,0

  1. ज़ीरो को पायथन में ले जाएँ

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