কম্পিউটার

C++ এ অ্যারে ট্রান্সফরমেশন


ধরুন একটি প্রাথমিক অ্যারে অ্যারে আছে, বিবেচনা করুন প্রতিদিন আমরা আগের দিনের অ্যারে ব্যবহার করে একটি নতুন অ্যারে তৈরি করি। i-ম দিনে, আমরা দিনের অ্যারে তৈরি করতে i-1 দিনের অ্যারেতে নিম্নলিখিত ক্রিয়াকলাপগুলি সম্পাদন করব। শর্তগুলি নিম্নরূপ -

  • যদি একটি উপাদান তার বাম এবং ডান পাশের উভয় মানের থেকে ছোট হয়, তাহলে এই উপাদানটি বৃদ্ধি পাবে।

  • যদি একটি উপাদান তার বাম এবং ডান সন্নিহিত উভয় মানের থেকে বড় হয়, তাহলে এই উপাদানটি হ্রাস পাবে৷

  • প্রথম এবং শেষ উপাদান একই থাকবে।

কিছু ​​দিন পরে, অ্যারে আর পরিবর্তন হয় না। যে চূড়ান্ত অ্যারে খুঁজে. তাই যদি প্রাথমিক অ্যারে হয় [6,2,3,4] তাহলে আউটপুট হবে [6,3,3,4]। প্রথম দিনে, অ্যারে [6,2,3,4] থেকে [6,3,3,4] তে পরিবর্তিত হবে, তারপর আর কোনো অপারেশন করা হবে না৷

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

  • যদি অ্যারের আকার 2 বা 2 এর কম হয়, তাহলে অ্যারে ফেরত দিন
  • পতাকা সেট করুন :=সত্য
  • যদিও পতাকা সত্য −
    • পতাকা সেট করুন :=মিথ্যা
    • টেম্প নামে একটি খালি অ্যারে তৈরি করুন এবং টেম্পে arr[0] ঢোকান
    • এর জন্য আমি রেঞ্জ 1 থেকে অ্যারের আকার - 1
      • যদি arr[i]
      • অন্যথায় যখন arr[i]> arr[i - 1] এবং arr[i]> arr[i + 1], তারপর temp এ arr[i] – 1 ঢোকান এবং পতাকা সেট করুন :=true
      • অন্যথায় টেম্পে arr[i] ঢোকান
    • টেম্পে arr-এর শেষ উপাদান ঢোকান
    • arr :=temp
  • রিটার্ন এআরআর

উদাহরণ(C++)

আসুন আরও ভালোভাবে বোঝার জন্য নিচের বাস্তবায়ন দেখি −

#include Namespace std ব্যবহার করে;#define push_backvoid print_vector(vectorv){ cout <<"["; for(int i =0; i ট্রান্সফর্ম অ্যারে(ভেক্টরএন্ড অ্যার) { if(arr.size()<=2)রিটার্ন অ্যাআর; bool flag =সত্য; while(পতাকা){ পতাকা =মিথ্যা; ভেক্টর  temp; temp.push_back(arr[0]); for(int i =1; i  arr[i-1] &&arr[i]>arr[i+1]){ flag =true; temp.push(arr[i]-1); } অন্য temp.push(arr[i]); } temp.push_back(arr[arr.size()-1]); arr =temp; } রিটার্ন arr; }};প্রধান(){সমাধান ob; ভেক্টর v ={1,6,3,4,3,5}; print_vector(ob.transformArray(v));}

ইনপুট

<প্রে>[1,6,3,4,3,5]

আউটপুট

<প্রে>[1,4,4,4,4,5]
  1. C++ এ সংখ্যাগরিষ্ঠ উপাদান

  2. একটি পণ্য অ্যারে ধাঁধা (O(1) স্থান) C++?

  3. C++ স্ট্রিং এর অ্যারে

  4. C++ এ সাজানো হচ্ছে