64. Merge Sorted Array
Description
Given two sorted integer arrays A and B, merge B into A as one sorted array.
Example
A = [1, 2, 3, empty, empty], B = [4, 5]
After merge, A will be filled as [1, 2, 3, 4, 5]
Notice
You may assume that A has enough space (size that is greater or equal to m + n) to hold additional elements from B. The number of elements initialized in A and B are m and n respectively.
我的代码
class Solution:
"""
@param: A: sorted integer array A which has m elements, but size of A is m+n
@param: m: An integer
@param: B: sorted integer array B which has n elements
@param: n: An integer
@return: nothing
"""
def mergeSortedArray(self, A, m, B, n):
# write your code here
while m>0 and n>0:
if A[m-1] > B[n-1]:
A[m+n-1] = A[m-1]
m -= 1
else:
A[m+n-1] = B[n-1]
n -= 1
if n>0:
A[:n] = B[:n]
思路:
- 时间复杂度: O()
- 出错:2
忘记减一
一开始想,直接在A上操作会不会覆盖有用的信息。
因为有足够的空间,如果覆盖,这部分肯定已经到后面去了。