JavaRush /Java блог /Архив info.javarush /Кухня(); Задание N61
terranum
28 уровень
Milan

Кухня(); Задание N61

Статья из группы Архив info.javarush
Кухня(); Задание N61 - 1 Правила [Одномерные массивы] 61. В массиве А каждый элемент равен 0, 1, 2. Переставить элементы массива так, чтобы сначала располагались все нули, затем все единицы, и, наконец все двойки.
Комментарии (3)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Docktor91 Уровень 40
29 сентября 2014

public static int[] someMethod(int... arr)
{
    int[] temp = new int[arr.length];
    int i = temp.length - 1;
    int j = temp.length - 1;
    for (int x : arr)
    {
        if (x == 2)
        {
            temp[i--] = temp[j];
            temp[j--] = x;
        }else if (x == 1)
        {
            temp[i--] = x;
        }
    }
    return temp;
   
}
Airon Уровень 34
29 сентября 2014
Пока идея для сортировки лишь 3 элементов понравилась от Docktor91 из кухня50
public static int[] sort(int... array) {
    int[] temp = new int[array.length];
    Arrays.fill(temp, 1);
    int i = 0, j = temp.length - 1;
    for(int x : array)
        if (x < 1)
        temp[i++] = x;
    else if(x > 1)
        temp[j--] = x;
    return temp;
}