Search Insert Position @ LeetCode (Python)
Valid Sudoku @ LeetCode (Python)

Merge Sorted Array @ LeetCode (Python)

kitt posted @ 2014年2月14日 21:24 in LeetCode , 3241 阅读

经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
Avatar_small
xyz 说:
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

Avatar_small
kitt 说:
2014年3月30日 22:32

@xyz: 所言极是, mark之~


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter