সমস্ত নেতিবাচক নম্বরগুলি শুরুতে এবং ধনাত্মক অতিরিক্ত স্থান সহ শেষের দিকে ইতিবাচক দিকে নিয়ে যান


কাঠিন্য মাত্রা সহজ
প্রায়শই জিজ্ঞাসা করা হয় Capgemini আরোহণ ম্যাক o9 সমাধান TCS
বিন্যাস শ্রেণীবিভাজন

মনে করুন আপনার একটি আছে বিন্যাস পূর্ণসংখ্যার এটি উভয় নেতিবাচক এবং ধনাত্মক সংখ্যা নিয়ে গঠিত এবং সমস্যা বিবৃতিতে অতিরিক্ত স্থান ব্যবহার না করে সমস্ত নেতিবাচক এবং ধনাত্মক উপাদানগুলিকে অ্যারের বামে এবং অ্যারের ডানে সরিয়ে নিতে / স্থানান্তর করতে বলে। এটি সমস্ত নেতিবাচক সংখ্যাকে শুরুতে সরানো এবং ধ্রুবক অতিরিক্ত স্থান সহ শেষ করার জন্য ইতিবাচক হবে।

উদাহরণ

 ইনপুট:

arr[]={2,4,-10,13,-7,-60,52,8,-19 }

আউটপুট:

-10 -7 -60 -19 4 2 52 8 13

ব্যাখ্যা: যেহেতু সমস্ত নম্বর বাম দিকে সরানো হয়েছে এবং সমস্ত ধনাত্মক সংখ্যাটি ডান দিকে সরানো হয়েছে।

সমস্ত নেতিবাচক নম্বরগুলি শুরুতে এবং ধনাত্মক অতিরিক্ত স্থান সহ শেষের দিকে ইতিবাচক দিকে নিয়ে যান

অ্যালগরিদম

  1. জে 0 তে সেট করুন।
  2. 0 থেকে এন থেকে অ্যারেটি ঘুরে বেড়ানো (এককভাবে, যেখানে এন অ্যারের দৈর্ঘ্য) is
    1. অ্যারের কোনও উপাদান 0 এর চেয়ে কম কিনা তা পরীক্ষা করুন
      1. আমার জেয়ার সমান হওয়া উচিত কিনা তা পরীক্ষা করে দেখুন,
        1. সূচকের arr [i] এবং arr [j] এর মানগুলি অদলবদল করুন এবং j এর মান বাড়ান।
  3. অ্যারে মুদ্রণ করুন।

সমস্ত নেতিবাচক নম্বরগুলি শুরুতে এবং ইতিবাচক হিসাবে ইতিবাচক স্থানান্তরিত করার ব্যাখ্যা

আমাদের পূর্ণসংখ্যার একটি অ্যারে দেওয়া হয় এবং অ্যারেটিতে ইতিবাচক এবং নেতিবাচক উপাদান রয়েছে। আমরা সমস্ত নেতিবাচক উপাদানগুলি বামে এবং ইতিবাচক সংখ্যাগুলি ডানে সরিয়ে দিতে বলেছি। এই জন্য, আমরা যাচ্ছি বিনিময় সমস্ত সংখ্যা, যা ইতিবাচক এবং নেতিবাচক উপাদান। প্রথমে অ্যারেটি অতিক্রম করুন এবং তারপরে theণাত্মক সংখ্যার জন্য পরীক্ষা করুন, যদি সংখ্যাটি নেতিবাচক হয় তবে কেবলমাত্র আমরা মানগুলি অদলবদলে যাব।

J এর মান 0 তে নির্ধারণ করুন, এটি বিকল্পের সাথে অদলবদলের জন্য ব্যবহৃত হবে। আমরা অ্যারেটি ট্র্যাভার করা শুরু করব এবং প্রতিটি সংখ্যার জন্য অ্যারের হিসাবে [i] 0 এর চেয়ে কম হিসাবে পরীক্ষা করব, এটি যদি 0 এর চেয়ে কম হয়, এর অর্থ আমরা নেতিবাচক সংখ্যাটি পেয়েছি, এবং সেইজন্য উভয় সূচক একই না থাকলে আমরা তা পরীক্ষা করব, উপরের সমস্ত শর্তগুলি সত্য, তবে আমরা আরআর হিসাবে সংখ্যাগুলি অদলবদল করব [i] এবং আরার [জে] অদলবদল হবে, এবং জেটির মান বাড়িয়ে তুলব। প্রদত্ত শর্ত অনুযায়ী সমস্ত সম্ভাব্য মানগুলি ট্র্যাভ্যাস এবং অদলবদল ও পুনরায় সাজানো না হওয়া পর্যন্ত আমরা সেই ট্র্যাভারসালটি চালিয়ে যাব।

আমরা সেই শর্তটি পরীক্ষা করেছি যে অ্যারে [i] 0 এর চেয়ে কম, কারণ আমরা কেবল নেতিবাচক সংখ্যাগুলি সাজিয়ে চলেছি, অদলবদলের পরে সমস্ত নেতিবাচক সংখ্যা অ্যারের বামে সাজানো হবে এবং অন্য সমস্ত ধনাত্মক সংখ্যাগুলি স্বয়ংক্রিয়ভাবে ডানদিকে সাজানো হবে অ্যারের। আমরা যে সমস্ত অদলবদল করেছি, তার পরে আমাদের কেবল অ্যারে মুদ্রণ করা দরকার যেখানে স্ব্যাপিং অপারেশনগুলি সঞ্চালিত হয়েছিল।

বাস্তবায়ন

সমস্ত নেতিবাচক নম্বরগুলি শুরুতে এবং ইতিবাচক সমাপ্তিতে সরানোর জন্য সি ++ প্রোগ্রাম

#include<iostream>

using namespace std;

void shiftIntegers(int arr[], int n)
{
    int j = 0;
    for (int i = 0; i < n; i++)
    {
        if (arr[i] < 0)
        {
            if (i != j)
                swap(arr[i], arr[j]);
            j++;
        }
    }
    for (int i = 0; i < n; i++)
        printf("%d ", arr[i]);
}
int main()
{
    int arr[] = { 2,4,-10,13,-7,-60,52,8,-19 };
    int n = sizeof(arr) / sizeof(arr[0]);
    shiftIntegers(arr, n);

    return 0;
}
-10 -7 -60 -19 4 2 52 8 13

সমস্ত নেতিবাচক নম্বরগুলি শুরুতে এবং ইতিবাচক থেকে শেষের দিকে সরানোর জন্য জাভা প্রোগ্রাম

class rearrangeNegativePositive
{
    public static void shiftIntegers(int arr[], int n)
    {
        int j = 0, temp;
        for (int i = 0; i < n; i++)
        {
            if (arr[i] < 0)
            {
                if (i != j)
                {
                    temp = arr[i];
                    arr[i] = arr[j];
                    arr[j] = temp;
                }
                j++;
            }
        }
    }
    public static void printArray(int arr[], int n)
    {
        for (int i = 0; i < n; i++)
            System.out.print(arr[i] + " ");
    }
    public static void main(String args[])
    {
        int arr[] = { 2,4,-10,13,-7,-60,52,8,-19 };
        int n = arr.length;

        shiftIntegers(arr, n);
        printArray(arr, n);
    }
}
-10 -7 -60 -19 4 2 52 8 13

সমস্ত নেতিবাচক নম্বর শুরুতে এবং ইতিবাচক হিসাবে ইতিবাচক স্থানান্তরিত করার জন্য জটিলতা বিশ্লেষণ

সময় জটিলতা

উপর) কোথায় "এন" অ্যারেতে উপাদানগুলির সংখ্যা।

স্পেস জটিলতা ity

ও (1) কোন অতিরিক্ত স্থান প্রয়োজন হিসাবে।

উপসংহার

এটি জাভা এবং সি ++ এর ধ্রুবক অতিরিক্ত স্থানের সাথে সমস্ত নেতিবাচক সংখ্যা শুরুতে এবং ইতিবাচক দিকে নিয়ে যাওয়ার একটি প্রোগ্রাম।

উল্লেখ