题目
原题在此
Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array.
The number of elements initialized in nums1 and nums2 are m and n respectively. You may assume that nums1 has enough space (size that is equal to m + n) to hold additional elements from nums2.
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]
Example 2:
Input: nums1 = [1], m = 1, nums2 = [], n = 0
Output: [1]
Constraints:
- $0 <= n, m <= 200$
- $1 <= n + m <= 200$
- $nums_1.length == m + n$
- $nums_2.length == n$
- $-10^9 <= nums_1[i], nums_2[i] <= 10^9$
解析
根据题意, arr1
足够大, 所以从arr1[m+n]
开始倒着依次写入较大的数既可.
代码
C++
1 | class Solution { |
Golang
1 | func merge(nums1 []int, m int, nums2 []int, n int) { |