Java Online Compiler
Example: Merge Two Sorted Arrays using Two Pointers in Java
C
C++
C#
Java
Python
PHP
Main.java
STDIN
Run
// Merge Two Sorted Arrays using Two Pointers public class Main { public static void main(String[] args) { int[] arr1 = {10, 20, 30}; int[] arr2 = {15, 25, 35, 40}; int[] mergedArray = mergeSortedArraysTwoPointers(arr1, arr2); System.out.print("Merged Array (Two Pointers): "); for (int num : mergedArray) { System.out.print(num + " "); } System.out.println(); } public static int[] mergeSortedArraysTwoPointers(int[] arr1, int[] arr2) { // Step 1: Calculate the total length of the new array int[] mergedArray = new int[arr1.length + arr2.length]; // Step 2: Initialize pointers for arr1, arr2, and mergedArray int i = 0; // Pointer for arr1 int j = 0; // Pointer for arr2 int k = 0; // Pointer for mergedArray // Step 3: Iterate while both pointers are within their array bounds while (i < arr1.length && j < arr2.length) { if (arr1[i] <= arr2[j]) { mergedArray[k++] = arr1[i++]; } else { mergedArray[k++] = arr2[j++]; } } // Step 4: Add remaining elements from arr1 (if any) while (i < arr1.length) { mergedArray[k++] = arr1[i++]; } // Step 5: Add remaining elements from arr2 (if any) while (j < arr2.length) { mergedArray[k++] = arr2[j++]; } // Step 6: Return the merged array return mergedArray; } }
Output
Clear
ADVERTISEMENTS