ধরুন আমাদের কাছে পূর্ণসংখ্যার একটি নির্দিষ্ট দৈর্ঘ্যের অ্যারে আছে, আমাদেরকে শূন্যের প্রতিটি ঘটনাকে ডুপ্লিকেট করতে হবে, বাকি উপাদানগুলিকে ডানদিকে স্থানান্তর করতে হবে।
মনে রাখবেন যে মূল অ্যারের দৈর্ঘ্যের বাইরের উপাদানগুলি লেখা হয় না৷
সুতরাং ধরুন অ্যারেটি [1,0,2,3,0,4,5,0] এর মতো, তাহলে পরিবর্তন করার পরে এটি হবে [1,0,0,2,3,0,0,4]
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
- অন্য অ্যারে arr2-এ arr কপি করুন, i এবং j কে 0 হিসাবে সেট করুন
- যখন i
- যদি arr2[i] শূন্য হয়, তাহলে
- arr[i] :=0
- i 1 দ্বারা বাড়ান
- যদি i
- অন্য arr[i] :=arr2[j]
- i এবং j 1 দ্বারা বাড়ান
- যদি arr2[i] শূন্য হয়, তাহলে
উদাহরণ
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
class Solution(object): def duplicateZeros(self, arr): arr2 = [i for i in arr] i=0 j = 0 while i < len(arr): if not arr2[j]: arr[i] = 0 i+=1 if i<len(arr): arr[i] = 0 else: arr[i] = arr2[j] j+=1 i+=1 return arr ob1 = Solution() print(ob1.duplicateZeros([1,0,2,3,0,4,5,0]))
ইনপুট
[1,0,2,3,0,4,5,0]
আউটপুট
[1,0,0,2,3,0,0,4]