Ash Docs Help

My DSA Practice

Table of Questions

Question 1

Given an array arr, write a program segregating even and odd numbers. The program should put all even numbers first in sorted order, and then odd numbers in sorted order. Note:- You don't have to return the array, you have to modify it in-place.

I solved this question like this:

  • Filter odd numbers in their array: oddArray

  • Filter even numbers in their array: evenArray

  • Sort both arrays

  • newArray ⇽ Combine evenArray & oddArray

  • originalArray ⇽ newArray

import java.util.Arrays; public class EvenOddSegregation { public static void main(String[] argv) { int[] arr = {6,5,4,3,2,1}; EvenOddSegregation evenOddSegregation = new EvenOddSegregation(); evenOddSegregation.segregateEvenOdd(arr); evenOddSegregation.printArray(arr); } void printArray(int[] arr){ for(int elem : arr){ System.out.print(elem + " "); } } public void segregateEvenOdd(int[] arr){ int[] evenNums = Arrays.stream(arr).filter(number -> number % 2 == 0).toArray(); int[] oddNums = Arrays.stream(arr).filter(number -> number % 2 != 0).toArray(); Arrays.sort(evenNums); Arrays.sort(oddNums); System.arraycopy(evenNums, 0, arr, 0, evenNums.length); System.arraycopy(oddNums, 0, arr, evenNums.length, oddNums.length); } }

Question 2

Given an array arr, write a program segregating even and odd numbers. The program should put all even numbers first in sorted order, and then odd numbers in sorted order. Note:- You don't have to return the array, you have to modify it in-place.

I solved this question like this:

  • Filter odd numbers in their array: oddArray

  • Filter even numbers in their array: evenArray

  • Sort both arrays

  • newArray ⇽ Combine evenArray & oddArray

  • originalArray ⇽ newArray

import java.util.Arrays; public class EvenOddSegregation { public static void main(String[] argv) { int[] arr = {6,5,4,3,2,1}; EvenOddSegregation evenOddSegregation = new EvenOddSegregation(); evenOddSegregation.segregateEvenOdd(arr); evenOddSegregation.printArray(arr); } void printArray(int[] arr){ for(int elem : arr){ System.out.print(elem + " "); } } public void segregateEvenOdd(int[] arr){ int[] evenNums = Arrays.stream(arr).filter(number -> number % 2 == 0).toArray(); int[] oddNums = Arrays.stream(arr).filter(number -> number % 2 != 0).toArray(); Arrays.sort(evenNums); Arrays.sort(oddNums); System.arraycopy(evenNums, 0, arr, 0, evenNums.length); System.arraycopy(oddNums, 0, arr, evenNums.length, oddNums.length); } }

Second tab content

Second tab content

Last modified: 31 December 2024