Как повернуть массив в Java

В этом блоге мы узнаем, что такое вращение массива? И как повернуть массив в левом или правом направлении. Здесь поворот означает только смещение элементов массива в нужном направлении.

Пример

Input  : Arr[] = [1, 2, 3, 4, 5]
k = 2

OutPut : Arr[] = [4, 5, 1, 2, 3]
Войти в полноэкранный режим Выход из полноэкранного режима

Объяснение

Первоначально массив был [1, 2, 3, 4, 5], если мы повернем массив один раз (k=1) вправо, то элемент сместится с индекса 0 на индекс 1. Аналогично, нам нужно сместить все элементы вправо, что означает, что последний элемент окажется на первой позиции.

Теперь после первого вращения — Arr[] = [5, 1, 2, 3, 4].

Если мы повернем еще раз — Arr[] = [4, 5, 1, 2, 3] — k = 2

Аналогично, если мы хотим повернуть массив влево. В этом случае мы должны сдвинуть элементы влево, элемент сместится с индекса 1 на индекс 0, и остальные элементы тоже, в результате чего первый элемент станет последним элементом массива.

Input  : Arr[] = [1, 2, 3, 4, 5]
k = 2 

Output : Arr[] =  [3 4 5 1 2] 
Вход в полноэкранный режим Выход из полноэкранного режима

Как решить эту проблему

Существует множество подходов, но в этом блоге мы рассмотрим только два подхода. Это —

  1. Использование временного массива
  2. Перевернув массив

Подход 1 — Использование временного массива

Идея проста, мы создадим новый массив размером k и будем хранить элементы, равные k, либо в начале, либо в конце массива, в зависимости от типа вращения, а затем поместим их обратно в исходный массив, куда они должны были быть помещены после вращения. Для лучшего понимания подхода посмотрите приведенный ниже пример, в котором мы поворачиваем k раз влево.

Пример

Ввод arr[] = [1, 2, 3, 4, 5]
k = 2

  1. Храним первые k элементов в массиве temp: temp[] = [1, 2].
  2. Сдвинуть остальные элементы (в соответствии с заданными данными/вопросом): arr[] = [3, 4, 5,]
  3. Верните k элементов обратно: arr[] = [3, 4, 5, 1, 2]

Continue Reading.

Оцените статью
Procodings.ru
Добавить комментарий