11## 题目地址
22
3- https://leetcode.com/problems/merge-sorted-array/description /
3+ https://leetcode-cn .com/problems/merge-sorted-array/
44
55## 题目描述
66
77```
8- Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array.
8+ 给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。
99
10- Note :
10+ 说明 :
1111
12- The number of elements initialized in nums1 and nums2 are m and n respectively.
13- You may assume that nums1 has enough space (size that is greater or equal to m + n) to hold additional elements from nums2.
14- Example :
12+ 初始化 nums1 和 nums2 的元素数量分别为 m 和 n。
13+ 你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。
14+ 示例 :
1515
16- Input :
16+ 输入 :
1717nums1 = [1,2,3,0,0,0], m = 3
1818nums2 = [2,5,6], n = 3
1919
20- Output: [1,2,2,3,5,6]
20+ 输出: [1,2,2,3,5,6]
2121```
2222
2323## 思路
@@ -102,50 +102,12 @@ function merge(nums1, nums2) {
102102
103103## 代码
104104
105+ 代码支持:Python3, C++, JavaScript
106+
107+
108+ JavaSCript Code:
109+
105110``` js
106- /*
107- * @lc app=leetcode id=88 lang=javascript
108- *
109- * [88] Merge Sorted Array
110- *
111- * https://leetcode.com/problems/merge-sorted-array/description/
112- *
113- * algorithms
114- * Easy (34.95%)
115- * Total Accepted: 347.5K
116- * Total Submissions: 984.7K
117- * Testcase Example: '[1,2,3,0,0,0]\n3\n[2,5,6]\n3'
118- *
119- * Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as
120- * one sorted array.
121- *
122- * Note:
123- *
124- *
125- * The number of elements initialized in nums1 and nums2 are m and n
126- * respectively.
127- * You may assume that nums1 has enough space (size that is greater or equal to
128- * m + n) to hold additional elements from nums2.
129- *
130- *
131- * Example:
132- *
133- *
134- * Input:
135- * nums1 = [1,2,3,0,0,0], m = 3
136- * nums2 = [2,5,6], n = 3
137- *
138- * Output: [1,2,2,3,5,6]
139- *
140- *
141- */
142- /**
143- * @param {number[]} nums1
144- * @param {number} m
145- * @param {number[]} nums2
146- * @param {number} n
147- * @return {void} Do not return anything, modify nums1 in-place instead.
148- */
149111var merge = function (nums1 , m , nums2 , n ) {
150112 // 设置一个指针,指针初始化指向nums1的末尾(根据#62,应该是index为 m+n-1 的位置,因为nums1的长度有可能更长)
151113 // 然后不断左移指针更新元素
@@ -175,7 +137,7 @@ var merge = function(nums1, m, nums2, n) {
175137 }
176138};
177139```
178- 模仿上述代码,思路相同
140+
179141C++ code:
180142```
181143class Solution {
@@ -199,7 +161,7 @@ public:
199161};
200162```
201163
202- Python 代码
164+ Python Code
203165``` python
204166class Solution :
205167 def merge (self , nums1 : List[int ], m : int , nums2 : List[int ], n : int ) -> None :
@@ -222,3 +184,12 @@ class Solution:
222184 if n > 0 :
223185 nums1[:n] = nums2[:n]
224186```
187+
188+
189+ ** 复杂度分析**
190+ - 时间复杂度:$O(M + N)$
191+ - 空间复杂度:$O(1)$
192+
193+ 欢迎关注我的公众号《脑洞前端》获取更多更新鲜的LeetCode题解
194+
195+ ![ ] ( https://pic.leetcode-cn.com/89ef69abbf02a2957838499a96ce3fbb26830aae52e3ab90392e328c2670cddc-file_1581478989502 )
0 commit comments