Merge Sorted Array @ LeetCode (Python)
kitt
posted @ 2014年2月14日 21:24
in LeetCode
, 3278 阅读
经xyz点播, 从后往前放, 方便快捷。
class Solution: # @param A a list of integers # @param m an integer, length of A # @param B a list of integers # @param n an integer, length of B # @return nothing def merge(self, A, m, B, n): i, j, k = m - 1, n - 1, m + n - 1 while i >= 0 and j >= 0: if B[j] > A[i]: A[k] = B[j] j -= 1 else: A[k] = A[i] i -= 1 k -= 1 while j >= 0: A[k] = B[j] j -= 1 k -= 1
2014年3月30日 14:22
为啥要往后挪不直接从最后开始放?
def merge(self, A, m, B, n):
i, j = m-1, n-1
k = m+n-1
while i>=0 and j>=0:
if A[i] >= B[j]:
A[k] = A[i]
i -=1
else:
A[k] = B[j]
j -= 1
k -=1
while j>=0:
A[k] = B[j]
k-=1
j-=1
return A
2014年3月30日 22:32
@xyz: 所言极是, mark之~