0% found this document useful (0 votes)
2 views3 pages

Merge Sorted Array

The document describes a method to merge two sorted integer arrays, nums1 and nums2, into a single sorted array stored in nums1. It details the input parameters, including the lengths of the arrays and provides an example with expected output. The implementation uses a two-pointer technique to efficiently merge the arrays in-place.

Uploaded by

gordeankita6
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views3 pages

Merge Sorted Array

The document describes a method to merge two sorted integer arrays, nums1 and nums2, into a single sorted array stored in nums1. It details the input parameters, including the lengths of the arrays and provides an example with expected output. The implementation uses a two-pointer technique to efficiently merge the arrays in-place.

Uploaded by

gordeankita6
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

given two integer arrays nums1 and nums2, sorted in non-decreasing

order, and two integers m and n, representing the number of elements


in nums1 and nums2 respectively.

Merge nums1 and nums2 into a single array sorted in non-decreasing


order.

The final sorted array should not be returned by the function, but instead
be stored inside the array nums1. To accommodate this, nums1 has a
length of m + n, where the first m elements denote the elements that
should be merged, and the last n elements are set to 0 and should be
ignored. nums2 has a length of n.

Example 1:

Input: nums1 = [1,2,3,0,0,0], m = 3, nums2 = [2,5,6], n = 3

Output: [1,2,2,3,5,6]

Explanation: The arrays we are merging are [1,2,3] and [2,5,6].

The result of the merge is [1,2,2,3,5,6] with the underlined elements


coming from nums1.
class Solution {

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 (j >= 0) {

if (i >= 0 && nums1[i] > nums2[j]) {

nums1[k] = nums1[i];

i--;

k--;

} else {

nums1[k] = nums2[j];

j--;

k--;

}
public static void main(String args[]) {

int[] nums1 = {1,2,3,0,0,0};

int[] nums2 = {2,5,6};

int m = 3;

int n = 3;

Solution obj = new Solution();

[Link](nums1, m, nums2, n);

for (int i = 0; i < m + n; i++) {

[Link](nums1[i] + " ");

You might also like