Programa Java para almacenar elementos pares e impares de una array en arrays separadas

Dada una array con N números y separe esos números en dos arrays por números pares o impares. La operación completa requería una complejidad de tiempo O(n) en el mejor de los casos. Para optimizar los usos de la memoria, el primero atraviesa una array y calcula el número total de números pares e impares en ella. Cree dos arrays con el tamaño calculado después de atravesar y comience a almacenarlas.

A continuación se muestra la implementación del enfoque anterior:

Java

// Java Program to Store Even & Odd
// Elements of an Array into Separate Arrays
 
public class Even_Odd {
 
    // Print array method
    public static void printArray(int[] array)
    {
        for (int i = 0; i < array.length; i++)
            System.out.print(array[i] + " ");
        System.out.println();
    }
    public static void main(String[] args)
    {
        int n = 8;
        // array with N size
        int array[] = { 23, 55, 54, 9, 76, 66, 2, 91 };
 
        int evenSize = 0;
        int oddSize = 0;
        for (int i = 0; i < n; i++) {
            if (array[i] % 2 == 0)
                evenSize++;
            else
                oddSize++;
        }
        // odd and even arrays with size
        int[] even = new int[evenSize];
        int[] odd = new int[oddSize];
        // odd and even array iterator
        int j = 0, k = 0;
        for (int i = 0; i < n; i++) {
            if (array[i] % 2 == 0)
                even[j++] = array[i];
            else
                odd[k++] = array[i];
        }
        // print array method
        System.out.print("Even Array contains: ");
        printArray(even);
        System.out.print("Odd Array contains: ");
        printArray(odd);
    }
}

Producción:

Even Array contains: 54 76 66 2 
Odd Array contains: 23 55 9 91 

Complejidad de tiempo: O(n)

Complejidad espacial: O(n)

Publicación traducida automáticamente

Artículo escrito por dhatriganda07 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *