मान लीजिए हमारे पास कुछ संख्याओं को रखने के लिए एक सरणी है। इसमें शून्येतर मान के साथ-साथ शून्य मान भी हैं। इसलिए हमें अन्य संख्याओं के सापेक्ष क्रम को बदले बिना सभी शून्यों को दाईं ओर भेजना है। यदि सरणी [0, 1, 5, 0, 3, 8, 0, 0, 9] जैसी है, तो अंतिम सरणी [1, 5, 3, 8, 9, 0, 0, 0, 0] होगी।
हल करने के चरण
- मान लें index = 0
- i = 0 से A की लंबाई तक
- यदि A[i] != 0, तो
- A[index] := A[i]
- index := index + 1
- यदि A[i] != 0, तो
- i = index से A की लंबाई तक
- A[i] = 0
उदाहरण
बेहतर समझ के लिए निम्नलिखित कार्यान्वयन देखें:
class Solution(object):
def moveZeroes(self, nums):
"""
:type nums: List[int]
:rtype: None Do not return anything, modify nums in-place instead.
"""
insert_index = 0
for i in range(len(nums)):
if nums[i] != 0:
nums[insert_index]=nums[i]
insert_index+=1
for i in range(insert_index,len(nums)):
nums[i]=0
nums = [0,1,5,0,3,8,0,0,9]
ob1 = Solution()
ob1.moveZeroes(nums)
print(nums)
इनपुट
nums = [0,1,5,0,3,8,0,0,9]
आउटपुट
[1,5,3,8,9,0,0,0,0]