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