ধরুন আমাদের কাছে কিছু সংখ্যা রাখার জন্য একটি অ্যারে আছে। নন-জিরো ভ্যালুর পাশাপাশি শূন্য মানও রয়েছে। তাই আমাদের অন্যান্য সংখ্যার আপেক্ষিক ক্রম পরিবর্তন না করে ডানদিকে সমস্ত শূন্য পাঠাতে হবে। সুতরাং যদি অ্যারেটি [0, 1, 5, 0, 3, 8, 0, 0, 9] এর মতো হয়, তবে চূড়ান্ত অ্যারেটি হবে [1, 5, 3, 8, 9, 0, 0, 0, 0] ]
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
- ধরুন সূচক =0
- এর জন্য i =0 থেকে A
- এর দৈর্ঘ্য
- যদি A[i] !=0, তারপর
- A[সূচি] :=A[i]
- সূচী :=সূচক + 1
- যদি A[i] !=0, তারপর
- এর জন্য i =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]