leetcode) 88. merge sorted array

Doongsil·2024년 5월 7일

✅ nums1 슬라이스가 가리키는 배열의 값을 결과값으로 덮어써야함

package main

/*
- 병합
- nums1 에 결과 저장
*/

func merge(nums1 []int, m int, nums2 []int, n int) {
	r := make([]int, m+n)
	var p1, p2 int
	for i := range r {
		switch {
		case p1 >= m:
			r[i] = nums2[p2]
			p2++
		case p2 >= n:
			r[i] = nums1[p1]
			p1++
		case nums1[p1] <= nums2[p2]:
			r[i] = nums1[p1]
			p1++
		default:
			r[i] = nums2[p2]
			p2++
		}
	}
	for i := range nums1 {
		nums1[i] = r[i]
	}
}

📝 https://leetcode.com/problems/merge-sorted-array/description/?envType=study-plan-v2&envId=top-interview-150

profile
두둥실

0개의 댓글