Put Even and Odd Numbers in Separate Arrays
Put Even and Odd Numbers in Separate Arrays
Description:
Given an array arr[] of integers, separate the even and odd numbers into two separate arrays without changing their order..
Example 1:
Input: arr = {2, 5, 1, 7, 8, 4}
Output: Even array: 2 8 4, Odd array: 5 1 7
Explanation: : Even numbers are placed in one array, and odd numbers are placed in another array while maintaining their order.
Example 2:
Input: arr = {3, 6, 2, 9, 12, 7}
Output: Even array: 6 2 12, Odd array: 3 9 7
Explanation: Even numbers are placed in one array, and odd numbers are placed in another array while maintaining their order.
Constraints:
The array length |arr| is at least 1 and at most 10^5.
Java Code:
public class HackerAlgo { // Separate Even and Odd Numbers public static void separateEvenOdd(int[] arr, int[] evenArr, int[] oddArr) { int evenIndex = 0; int oddIndex = 0; // Traverse the array and separate even and odd numbers for (int num :arr) { if (num % 2 == 0) { evenArr[evenIndex++] = num; } else { oddArr[oddIndex++] = num; } } } public static void main(String[] args) { // Example for Separate Even and Odd Numbers int[] arr1 = {2, 5, 1, 7, 8, 4}; int[] evenArr1 = new int[arr1.length]; int[] oddArr1 = new int[arr1.length]; separateEvenOdd(arr1, evenArr1, oddArr1); System.out.println("Even array: " + Arrays.toString(Arrays.copyOf(evenArr1, evenArr1.length))); System.out.println("Odd array: " + Arrays.toString(Arrays.copyOf(oddArr1, oddArr1.length))); int[] arr2 = {3, 6, 2, 9, 12, 7}; int[] evenArr2 = new int[arr2.length]; int[] oddArr2 = new int[arr2.length]; separateEvenOdd(arr2, evenArr2, oddArr2); System.out.println("Even array: " + Arrays.toString(Arrays.copyOf(evenArr2, evenArr2.length))); System.out.println("Odd array: " + Arrays.toString(Arrays.copyOf(oddArr2, oddArr2.length))); } }
Python Code:
# Separate Even and Odd Numbers def separate_even_odd(arr): even_arr = [num for num in arr if num % 2 == 0] odd_arr = [num for num in arr if num % 2 != 0] return even_arr, odd_arr # Example usage arr1 = [2, 5, 1, 7, 8, 4] even_arr1, odd_arr1 = separate_even_odd(arr1) print("Even array:", even_arr1) print("Odd array:", odd_arr1) arr2 = [3, 6, 2, 9, 12, 7] even_arr2, odd_arr2 = separate_even_odd(arr2) print("Even array:", even_arr2) print("Odd array:", odd_arr2)
C++ Code:
#include <iostream> #include <vector> class HackerAlgo { public: // Separate Even and Odd Numbers static void separateEvenOdd(const std::vector<int>&arr, std::vector<int>&evenArr, std::vector<int>&oddArr) { for (int num :arr) { if (num % 2 == 0) { evenArr.push_back(num); } else { oddArr.push_back(num); } } } }; int main() { // Example for Separate Even and Odd Numbers std::vector<int> arr1 = {2, 5, 1, 7, 8, 4}; std::vector<int> evenArr1, oddArr1; HackerAlgo::separateEvenOdd(arr1, evenArr1, oddArr1); std::cout<< "Even array: "; for (int num : evenArr1) { std::cout<<num<< " "; } std::cout<< std::endl; std::cout<< "Odd array: "; for (int num : oddArr1) { std::cout<<num<< " "; } std::cout<< std::endl; std::vector<int> arr2 = {3, 6, 2, 9, 12, 7}; std::vector<int> evenArr2, oddArr2; HackerAlgo::separateEvenOdd(arr2, evenArr2, oddArr2); std::cout<< "Even array: "; for (int num : evenArr2) { std::cout<<num<< " "; } std::cout<< std::endl; std::cout<< "Odd array: "; for (int num : oddArr2) { std::cout<<num<< " "; } std::cout<< std::endl; return 0
JavaScript Code:
class HackerAlgo { // Separate Even and Odd Numbers static separateEvenOdd(arr) { constevenArr = arr.filter(num =>num % 2 === 0); constoddArr = arr.filter(num =>num % 2 !== 0); return [evenArr, oddArr]; } } // Example usage const arr1 = [2, 5, 1, 7, 8, 4]; const [evenArr1, oddArr1] = HackerAlgo.separateEvenOdd(arr1