- 分類:Array
- 時(shí)間復(fù)雜度: O(n+m)
- 空間復(fù)雜度: O(1)
88. Merge Sorted Array
Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array.
Note:
- 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 greater or equal to m + n) to hold additional elements from nums2.
Example:
Input:
nums1 = [1,2,3,0,0,0], m = 3
nums2 = [2,5,6], n = 3
Output: [1,2,2,3,5,6]
代碼:
class Solution:
def merge(self, nums1: 'List[int]', m: 'int', nums2: 'List[int]', n: 'int') -> 'None':
"""
Do not return anything, modify nums1 in-place instead.
"""
i=0
j=0
while len(nums1)!=(m+n):
if len(nums1)>(m+n):
nums1.pop()
else:
nums1.append(0)
while i<m:
while j<n and nums2[j]<=nums1[i]:
nums1.insert(i,nums2[j])
nums1.pop()
j+=1
i+=1
m+=1
i+=1
while j<n:
nums1[i]=nums2[j]
j+=1
i+=1
討論:
1.感覺(jué)很簡(jiǎn)單,但是還是個(gè)array的邊界問(wèn)題要考慮清楚。
2.不知道用Java做這個(gè)題的感覺(jué)?