একটি পদ্ধতি MoveZeros তৈরি করুন, অ্যারের মধ্য দিয়ে যান এবং অ্যারেতে জিরোর সংখ্যা গণনা করুন। গণনার আকারের উপর ভিত্তি করে সমস্ত চূড়ান্ত কক্ষকে শূন্য করুন। যদি অ্যারের দৈর্ঘ্য শূন্য বা খালি থাকে তবে প্রক্রিয়াকরণ ছাড়াই ফিরে আসুন। চূড়ান্ত ফলাফল সংখ্যা অ্যারে হবে. সময়ের জটিলতা হল O(N) কারণ আমরা একবার অ্যারের মধ্য দিয়ে যাচ্ছি।
সময়ের জটিলতা − O(N)
স্পেস জটিলতা − O(1)
উদাহরণ
public class Arrays{ public void MoveZeros(int[] nums){ if (nums == null || nums.Length == 0){ return; } int count = 0; for (int i = 0; i < nums.Count(); i++){ if (nums[i] != 0){ nums[count] = nums[i]; count++; } } for (int i = count; i < nums.Length; i++){ nums[i] = 0; } } } static void Main(string[] args){ int[] nums = { 0, 1, 0, 3, 12 }; s.MoveZeros(nums); foreach (var item in nums){ Console.WriteLine(item); } }
আউটপুট
[1,3,12,0,0]