Nous obtenons un tableau trié. Nous devons organiser ce tableau sous la forme la plus grande et la plus petite, c'est-à-dire que le premier élément est le plus grand élément, le deuxième élément est le plus petit élément, le troisième élément est le deuxième plus grand élément et le quatrième élément est le deuxième plus petit élément.
Input : arr[ ] = { 10, 20, 30, 40, 50, 60 } Output : { 60, 10, 50, 20, 40, 30 } Explanation : array is rearranged in the form { 1st max, 1st min, 2nd max, 2nd min, 3rd max, 3rd min } Input : arr [ ] = { 15, 17, 19, 23, 36, 67, 69 } Output : { 69, 15, 67, 17, 36, 19, 23 }
Il existe un moyen de réorganiser un tableau sous forme maximale et minimale -
Il existe un moyen de réorganiser un tableau sous forme maximale et minimale -
Utilisez deux variables, min et max, pointerez ici vers les éléments les plus grands et les plus petits et créerez un nouveau tableau vide de la même taille pour stocker le tableau réorganisé. Parcourez maintenant le tableau et si l'élément itéré est à un index pair, ajoutez des éléments arr[max] au tableau vide et décrémentez max de 1. Si l'élément a un index impair, ajoutez des éléments arr[min] au tableau vide et incrémentez min de 1. Faites cela jusqu'à ce que le maximum soit inférieur au minimum.
#include <bits/stdc++.h> using namespace std; int main () { int arr[] = { 1, 2, 3, 4, 5, 6 }; int n = sizeof (arr) / sizeof (arr[0]); // creating a new array to store the rearranged array. int final[n]; // pointing variables to initial and final element index. int min = 0, max = n - 1; int count = 0; // iterating over the array until max is less than or equals to max. for (int i = 0; min <= max; i++) { // if count is even then store max index element if (count % 2 == 0) { final[i] = arr[max]; max--; } // store min index element else { final[i] = arr[min]; min++; } count++; } // printing the final rearranged array. for (int i = 0; i < n; i++) cout << final[ i ] << " "; return 0; }
6 1 5 2 4 3
Dans cet article, nous avons discuté de la solution pour réorganiser le tableau donné sous la forme max-min. Nous discutons des approches de la solution et la résolvons avec une solution optimiste de complexité temporelle O(n). Nous avons également écrit un programme C++ pour cela. De même, nous pouvons écrire ce programme dans n'importe quel autre langage comme C, Java, Python, etc. Nous espérons que cet article vous a été utile.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!