package com.fishercoder.solutions;

/**
 * 88. Merge Sorted Array
 *
 * Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array.
 *
 * Note: You may assume that nums1 has enough space (size that is greater or equal to m + n) to hold
 * additional elements from nums2. The number of elements initialized in nums1 and nums2 are m and n
 * respectively.
 */

public class _88 {

  public static class Solution1 {
    public void merge(int[] nums1, int m, int[] nums2, int n) {
      int i = m - 1;
      int j = n - 1;
      int k = m + n - 1;
      while (i >= 0 && j >= 0) {
        if (nums1[i] > nums2[j]) {
          nums1[k--] = nums1[i--];
        } else {
          nums1[k--] = nums2[j--];
        }
      }
      while (j >= 0) {
        nums1[k--] = nums2[j--];
      }
    }
  }
}

@@ -405,16 +405,18 @@
  _88 %7B%0A%0A
+  
   public
@@ -441,16 +441,20 @@
 tion1 %7B%0A
+    
     publ
@@ -505,24 +505,30 @@
 2, int n) %7B%0A
+      
       int i 
@@ -538,24 +538,30 @@
  - 1;%0A      
+  
+    
 int j = n - 
@@ -565,24 +565,30 @@
  - 1;%0A      
+   
+   
 int k = m + 
@@ -596,24 +596,30 @@
  - 1;%0A      
+   
+   
 while (i %3E= 
@@ -641,16 +641,24 @@
         
+    
+    
 if (nums
@@ -678,32 +678,42 @@
 j%5D) %7B%0A          
+  
+        
 nums1%5Bk--%5D = num
@@ -729,16 +729,24 @@
         
+     
+   
 %7D else %7B
@@ -746,16 +746,26 @@
  else %7B%0A
+          
         
@@ -803,18 +803,32 @@
     
-%7D%0A
+        %7D%0A      
       %7D%0A
     
@@ -819,24 +819,30 @@
           %7D%0A
+      
       while 
@@ -852,32 +852,40 @@
 %3E= 0) %7B%0A        
+       
+ 
 nums1%5Bk--%5D = num
@@ -903,16 +903,28 @@
     
+      %7D%0A        
 %7D%0A  
-  %7D%0A
   %7D%0A

refactor 88