preguntas de la entrevista leetcode 10.01. Ordenado de fusión Fusión LCCI especie de doble matriz de punteros

preguntas de la entrevista leetcode 10.01. Ordenado de fusión Fusión LCCI especie de doble matriz de punteros

leetcode de marzo de 2020 sea un diario cuestión golpe
entrevista programador de oro

Título: dada la matriz A y B, los dos ordenados donde el terminal A es suficiente espacio de memoria intermedia para acomodar B. Un método para la preparación de la A y B incorporado tipo. Inicializar el número de elementos A y B son m y n.

Ejemplo:
Entrada:
A = [1,2,3,0,0,0], m 3 =.
B = [2,5,6], n- = 3.
De salida: [1,2,2,3,5,6 ]
Descripción: a.length == n + m

Fuente: Botón de estancia (LeetCode)
enlace título original: https: //leetcode-cn.com/problems/sorted-merge-lcci

Ideas: Python: La forma más fácil es poner A, B, reordenando A. El segundo método es el uso de A y B han sido condiciones clasificadas utilizandodoble puntero.

Detalles: Esta pregunta es el valor de retorno es una matriz de la matriz A debe ans tan profundamente copiar en la A: A [:] = ans

código:

class Solution(object):
    def merge(self, A, m, B, n):
        """
        :type A: List[int]
        :type m: int
        :type B: List[int]
        :type n: int
        :rtype: None Do not return anything, modify A in-place instead.
        """
        # 双指针
        pa=0
        pb=0
        ans=[]
        while not(pa==m and pb==n):
            if pa == m:
                ans.append(B[pb])
                pb+=1
                continue
            if pb == n:
                ans.append(A[pa])
                pa+=1
                continue
            if A[pa]>B[pb]:
                ans.append(B[pb])
                pb+=1
                continue
            if A[pa]<B[pb]:
                ans.append(A[pa])
                pa+=1
                continue
            if A[pa]==B[pb]:
                ans.append(A[pa])
                ans.append(B[pb])
                pa+=1
                pb+=1
                continue
              
        A[:]=ans
        return A

Este blog es una obra original, dio la bienvenida a la guía, reproduce, por favor indique la fuente, adjuntar un enlace a este artículo, gracias

Publicado 20 artículos originales · ganado elogios 1 · visitas 205

Supongo que te gusta

Origin blog.csdn.net/weixin_43973433/article/details/104860539
Recomendado
Clasificación