Задан массив из n целых чисел. Замените все наибольшие его элементы на наименьший, а наименьшие элементы на наибольший.
Входные данные
В первой строке записано число n (n ≤ 100). В следующей строке записано n целых чисел, каждое из которых по модулю не превосходит 100.
Выходные данные
Вывести обновленный массив.
Алгоритм решения задачи
- Находим с помощью LINQ запросов минимальный и максимальный элементы списка;
- Оператором Select производим замену максимального на минимальный и наоборот.
Решение
using System;
using System.Linq;
class Program
{
static void Main(string[] args)
{
Console.ReadLine();
var p = Array.ConvertAll(Console.ReadLine().Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries), s => int.Parse(s)).ToList();
var min = p.Min();
var max = p.Max();
var res = p.Select(x => x == max ? min : x == min ? max : x);
Console.WriteLine(string.Join(" ", res));
}
}