CSHARPPROGLIB Telegram 6547
✏️ Задача без подвоха

Дан массив длиной 2n в виде [x1,x2,xn,y1,y2,yn] нужно вернуть массив [x1,y1,x2,y2,xn,yn], то есть перемешать.

Идея решения

Логически делим массив на две половины по n элементов и в одном цикле по индексу i собираем ответ в новый массив result.
На каждой итерации кладем сначала элемент из первой половины nums[i] потом из второй nums[i+n].

Так мы проходим вход один раз время O(n), где n это половина массива.

Решение:
public class Solution
{
public int[] Shuffle(int[] nums, int n)
{
int[] result = new int[2 * n];
int index = 0;

for (int i = 0; i < n; i++)
{
result[index++] = nums[i];
result[index] = nums[i + n];
index++;
}

return result;
}
}


Ключевой момент в том что мы никогда не выходим за границы
первая половина идет по индексам от нуля до n минус один вторая от n до 2n минус один, а индекс в result просто сдвигается на два шага за итерацию.

➡️ Попробовать решить

🔹 Практический интенсив «Архитектуры и шаблоны проектирования»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib

🐸Библиотека шарписта

#dotnet_challenge
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🥱4🥰1👏1



tgoop.com/csharpproglib/6547
Create:
Last Update:

✏️ Задача без подвоха

Дан массив длиной 2n в виде [x1,x2,xn,y1,y2,yn] нужно вернуть массив [x1,y1,x2,y2,xn,yn], то есть перемешать.

Идея решения

Логически делим массив на две половины по n элементов и в одном цикле по индексу i собираем ответ в новый массив result.
На каждой итерации кладем сначала элемент из первой половины nums[i] потом из второй nums[i+n].

Так мы проходим вход один раз время O(n), где n это половина массива.

Решение:

public class Solution
{
public int[] Shuffle(int[] nums, int n)
{
int[] result = new int[2 * n];
int index = 0;

for (int i = 0; i < n; i++)
{
result[index++] = nums[i];
result[index] = nums[i + n];
index++;
}

return result;
}
}


Ключевой момент в том что мы никогда не выходим за границы
первая половина идет по индексам от нуля до n минус один вторая от n до 2n минус один, а индекс в result просто сдвигается на два шага за итерацию.

➡️ Попробовать решить

🔹 Практический интенсив «Архитектуры и шаблоны проектирования»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib

🐸Библиотека шарписта

#dotnet_challenge

BY Библиотека шарписта | C#, F#, .NET, ASP.NET


Share with your friend now:
tgoop.com/csharpproglib/6547

View MORE
Open in Telegram


Telegram News

Date: |

Those being doxxed include outgoing Chief Executive Carrie Lam Cheng Yuet-ngor, Chung and police assistant commissioner Joe Chan Tung, who heads police's cyber security and technology crime bureau. Unlimited number of subscribers per channel 2How to set up a Telegram channel? (A step-by-step tutorial) How to Create a Private or Public Channel on Telegram? As five out of seven counts were serious, Hui sentenced Ng to six years and six months in jail.
from us


Telegram Библиотека шарписта | C#, F#, .NET, ASP.NET
FROM American