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

C++ প্রোগ্রাম: ডুপ্লিকেট উপাদানের বাম পাশের وقوع সরিয়ে অ্যারে গঠন

মান লিখুন: আমাদের কাছে n উপাদান বিশিষ্ট একটি অ্যারে A রয়েছে। আমরা ডুপ্লিকেট উপাদানগুলো সরাতে চাই। প্রতিটি উপাদানের জন্য শুধুমাত্র ডানপাশের দিক থেকে শেষ وقوعটি রাখতে চাই। অবশিষ্ট অনন্য উপাদানların النسبিক ক্রম অপরিবর্তিত রাখতে হবে।

উদাহরণ

যদি ইনপুট হয় A = [1, 5, 5, 1, 6, 1], তবে আউটপুট হবে [5, 6, 1]

সমাধানের ধাপসমূহ

b এবং vis অ্যারে তৈরি করুন আকার ১২০০
x := 0
n := A এর আকার
for i := n-1 থেকে 0 পর্যন্ত (হ্রাসমান):
    যদি vis[A[i]] শূন্য হয়:
        b[x] := A[i]
        x বাড়ান
        vis[A[i]] := 1
for i := x-1 থেকে 0 পর্যন্ত (হ্রাসমান):
    b[i] প্রিন্ট করুন

C++ বাস্তবায়ন

#include <bits/stdc++.h>
using namespace std;

void solve(vector<int> A) {
    int b[1200], vis[1200], x = 0;
    int n = A.size();
    for (int i = n - 1; i >= 0; i--) {
        if (!vis[A[i]]) {
            b[x] = A[i];
            x++;
            vis[A[i]] = 1;
        }
    }
    for (int i = x - 1; i >= 0; i--)
        cout << b[i] << ", ";
}

int main() {
    vector<int> A = { 1, 5, 5, 1, 6, 1 };
    solve(A);
}

ইনপুট

{ 1, 5, 5, 1, 6, 1 }

আউটপুট

5, 6, 1,
  1. C++ প্রোগ্রাম: অ্যারে উপাদানগুলোর গুণফল বের করা

  2. অ্যারেতে সবচেয়ে বড় এলিমেন্ট (Largest Element) বের করার C++ প্রোগ্রাম

  3. C#-এ অ্যারেতে ডুপ্লিকেট উপাদান খুঁজে বের করা

  4. C#-এ ইন্টিজার অ্যারে-এ সব ডুপ্লিকেট এলিমেন্ট খুঁজে বের করা (Dictionary)