“Bagaimana cara menggabungkan dua array yang diurutkan?” Kode Jawaban

Bagaimana cara menggabungkan dua array yang diurutkan?

import java.util.Arrays;

public class MergingTwoArrays {
	/*
	 * This code merges two arrays, sorted in ascending
	 * order, into a single aggregate array sorted in
	 * ascending order.
	 * 
	 * Let n be size of first array and
	 * m the size of the second array.
	 * 
	 * Time complexity: O(n+m)
	 * Space complexity: O(n+m)
	 */
	public static void main(String[] args) {
		int[] nums1 = { 1, 5, 7 };
		int[] nums2 = { 3, 6 };
		// Below prints: [1, 3, 5, 6, 7]
		System.out.println(Arrays.toString(merge(nums1, nums2)));
	}

	// Method merging the two sorted arrays
	private static int[] merge(int[] nums1, int[] nums2) {
		int n = nums1.length, m = nums2.length;
		int[] sortedArray = new int[n + m];
		// Indexes into nums1, nums2, and sortedArray
		int nums1Ptr = 0, nums2Ptr = 0, sortedArrayIdx = 0;
		// Collect the elements of nums1 and nums2 in order
		while (nums1Ptr < n && nums2Ptr < m) {
			// Transfer smaller element to sortedArray
			if (nums1[nums1Ptr] < nums2[nums2Ptr]) {
				sortedArray[sortedArrayIdx++] = nums1[nums1Ptr++];
			} else {
				sortedArray[sortedArrayIdx++] = nums2[nums2Ptr++];
			}
		}
		// Transfer elements remaining in either nums1 or nums2
		// to the resulting sortedArray
		while (nums1Ptr < n) {
			sortedArray[sortedArrayIdx++] = nums1[nums1Ptr++];
		}
		while (nums2Ptr < m) {
			sortedArray[sortedArrayIdx++] = nums2[nums2Ptr++];
		}

		return sortedArray;
	}
}
Wissam

Dua array yang diurutkan bergabung

public static int[] merge(int[] a, int[] b) {

    int[] answer = new int[a.length + b.length];
    int i = 0, j = 0, k = 0;
    while (i < a.length && j < b.length)
    {
        if (a[i] < b[j])
        {
            answer[k] = a[i];
            i++;
        }
        else
        {
            answer[k] = b[j];
            j++;
        }
        k++;
    }

    while (i < a.length)
    {
        answer[k] = a[i];
        i++;
        k++;
    }

    while (j < b.length)
    {
        answer[k] = b[j];
        j++;
        k++;
    }

    return answer;
}
Brainy Beetle

bagaimana menggabungkan dua array yang diurutkan

// Merge sorted arrays using javascript

let arrrone = [0,3,4,31];
let arrayTwo = [4,6,30,31,33];
let j = 0;
let k = 0;
let mergedArray = [];

let length = arrrone.length + arrayTwo.length;

console.log(length)

for(let i = 0; i<= length - 1; i++){
  if(arrrone[j] < arrayTwo[k]){
    mergedArray.push(arrrone[j]);
    j++;
  }
  else if(arrrone[j] > arrayTwo[k]){
    mergedArray.push(arrayTwo[k]);
    k++;
  }
  else if(arrrone[j] == arrayTwo[k]){
    mergedArray.push(arrrone[j]);
    mergedArray.push(arrayTwo[k]);
    j++;
    k++;
  }
}

console.log(mergedArray)
talhadev

Gabungkan dua array yang diurutkan

def mergeArrays(arr1, arr2, n1, n2):
    arr3 = [None] * (n1 + n2)
    i = 0
    j = 0
    k = 0
 
    while i < n1 and j < n2:
        if arr1[i] < arr2[j]:
            arr3[k] = arr1[i]
            k = k + 1
            i = i + 1
        else:
            arr3[k] = arr2[j]
            k = k + 1
            j = j + 1
 
    while i < n1:
        arr3[k] = arr1[i]
        k = k + 1
        i = i + 1
 
    while j < n2:
        arr3[k] = arr2[j]
        k = k + 1
        j = j + 1
Charity Thuku

Jawaban yang mirip dengan “Bagaimana cara menggabungkan dua array yang diurutkan?”

Pertanyaan yang mirip dengan “Bagaimana cara menggabungkan dua array yang diurutkan?”

Lebih banyak jawaban terkait untuk “Bagaimana cara menggabungkan dua array yang diurutkan?” di Java

Jelajahi jawaban kode populer menurut bahasa

Jelajahi bahasa kode lainnya