Всем привет! А вот и кухня!
Во втором сезон, в отличии от первого, задач будет на порядок меньше. Несмотря на это, сезон будет не менее интересным! Превью как бы намекает что речь пойдет о сортировке. Если вы еще не слышали про кухню - это не беда. Гляньте первый урок и все поймете. Там вы ознакомитесь и с правилами.
С нетерпением жду ваших изящных решений! И да будут они читабельны! Have fun! :)71. Заданы два одномерных массива с различным количеством элементов и натуральное число k. Объединить их в один массив, включив второй массив между k-м и (k+1)-м элементами первого, не используя дополнительный массив.
Ну если один можно, то решение «в лоб» совсем незамысловатое ))) как-то так:
public class Main {
public static void main(String[] args) {
// write your code here
int[] a = new int[]{1, 2, 3, 4, 5, 6};
int[] b = new int[]{7, 8, 9, 0};
int[] c = concat(a, b, 2);
for (int i : c) {
System.out.print(i + " ");
}
}
private static int[] concat(int[] a, int[] b, int i) {
int aLen = a.length;
int bLen = b.length;
int[] c = new int[aLen + bLen];
System.arraycopy(a, 0, c, 0, aLen);
System.arraycopy(b, 0, c, aLen, bLen);
int shift;
for (int index = 0; index < bLen; index++) {
shift = index + i;
int tmp = c[shift];
c[shift] = c[shift+bLen];
c[shift + bLen] = tmp;
}
return c;
}
}
Результат:
"C:\Program Files\Java\jdk1.8.0_11\bin\java"
1 2 7 8 9 0 3 4 5 6
Process finished with exit code 0
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Результат: