मान लीजिए कि हमारे पास कुछ संख्याओं को रखने के लिए एक सरणी है। गैर-शून्य मान के साथ-साथ शून्य मान भी हैं। इसलिए हमें अन्य संख्याओं के सापेक्ष क्रम को बदले बिना सभी शून्यों को दाईं ओर भेजना होगा। तो यदि सरणी [0, 1, 5, 0, 3, 8, 0, 0, 9] की तरह है, तो अंतिम सरणी [1, 5, 3, 8, 9, 0, 0, 0, 0 होगी। ]
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- मान लीजिए सूचकांक =0
- i =0 से A की लंबाई तक
- अगर ए[i] !=0, तो
- ए[इंडेक्स] :=ए[i]
- सूचकांक :=अनुक्रमणिका + 1
- अगर ए[i] !=0, तो
- i के लिए =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]