কম্পিউটার টিউটোরিয়াল

C# ব্যবহার করে সোর্টেড অ্যারেতে থেকে ডুপ্লিকেট সরিয়ে নন-ডুপ্লিকেটেড অ্যারে রিটার্ন করার পদ্ধতি


অ্যারেটি ইতিমধ্যে সোর্টেড, তাই আমরা দুটি পয়েন্টার ii এবং jj রাখতে পারি, যেখানে ii হলো স্লো-রানার এবং jj হলো ফাস্ট-রানার। যতক্ষণ nums[i] = nums[j], আমরা jj ইনক্রিমেন্ট করি ডুপ্লিকেট স্কিপ করার জন্য।

যখন nums[j] != nums[i] পাই, তখন ডুপ্লিকেট রান শেষ হয়েছে তাই আমাদের এর মান nums[i + 1]-এ কপি করতে হবে। ii ইনক্রিমেন্ট করুন এবং একই প্রসেসটি jj অ্যারেতে শেষ না হওয়া পর্যন্ত পুনরাবৃত্তি করুন। একটি নতুন অ্যারে তৈরি করুন, ফিল্টারড অ্যারেতে থেকে ইনডেক্স পর্যন্ত সব এলিমেন্ট কপি করুন এবং নতুন অ্যারেটি রিটার্ন করুন।

টাইম কমপ্লেক্সিটি − O(N)

উদাহরণ

using System;

namespace ConsoleApplication
{
    public class Arrays
    {
        public int[] RemoveDuplicatesFromSortedArrayAndReturnArray(int[] arr)
        {
            int index = 1;
            for (int i = 0; i < arr.Length - 1; i++)
            {
                if (arr[i] != arr[i + 1])
                {
                    arr[index] = arr[i + 1];
                    index++;
                }
                else
                {
                    continue;
                }
            }
            int[] newarr = new int[index];
            for (int i = 0; i < index; i++)
            {
                newarr[i] = arr[i];
            }
            return newarr;
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            Arrays a = new Arrays();
            int[] arr = { 0, 0, 1, 1, 1, 2, 2, 3, 3, 4 };
            int[] res = a.RemoveDuplicatesFromSortedArrayAndReturnArray(arr);
            for (int i = 0; i < res.Length; i++)
            {
                Console.WriteLine(res[i]);
            }
            Console.ReadLine();
        }
    }
}

আউটপুট

0 1 2 3 4
  1. উইন্ডোজ ১০ টাস্কবার থেকে নিউজ এবং আবহাওয়া রিমুভ করার উপায়

  2. Android-এ সর্টেড লিংকড লিস্ট থেকে ডুপ্লিকেট সরানোর পদ্ধতি

  3. রুবি অ্যারে থেকে ডুপ্লিকেট এলিমেন্ট সহজে সরান uniq দিয়ে

  4. ব্যাকআপ স্ট্রিমলাইন করুন: ডুপ্লিকেট ফাইল দ্রুত ডিটেক্ট ও রিমুভ করুন