Advertisement
darekfive

Merge 3 Sorted Array (3 pointer)

Mar 8th, 2025
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.02 KB | None | 0 0
  1. import java.util.*;
  2.  
  3. public class Solution {
  4.     public static List<Integer> mergeThreeSortedArrays(int[] A, int[] B, int[] C) {
  5.         List<Integer> result = new ArrayList<>();
  6.         int i = 0, j = 0, k = 0;
  7.         int n1 = A.length, n2 = B.length, n3 = C.length;
  8.  
  9.         while (i < n1 || j < n2 || k < n3) {
  10.             int minVal = Integer.MAX_VALUE;
  11.             if (i < n1) minVal = Math.min(minVal, A[i]);
  12.             if (j < n2) minVal = Math.min(minVal, B[j]);
  13.             if (k < n3) minVal = Math.min(minVal, C[k]);
  14.  
  15.             if (i < n1 && A[i] == minVal) i++;
  16.             else if (j < n2 && B[j] == minVal) j++;
  17.             else k++; // C[k] must be the smallest
  18.            
  19.             result.add(minVal);
  20.         }
  21.         return result;
  22.     }
  23.  
  24.     public static void main(String[] args) {
  25.         int[] A = {1, 4, 7};
  26.         int[] B = {2, 5, 8};
  27.         int[] C = {3, 6, 9};
  28.         System.out.println(mergeThreeSortedArrays(A, B, C));
  29.         // Output: [1, 2, 3, 4, 5, 6, 7, 8, 9]
  30.     }
  31. }
  32.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement