[Operación de bit-Intermedio] Pregunta de entrevista 16.01. Números de intercambio (tres soluciones: Operación de bit + Operación matemática + Método de lista)

[Título]
Escribe una función sin variables temporales e intercambia directamente los valores de a y b en números = [a, b].
[Ejemplo]
Entrada: números = [1,2]
Salida: [2,1]
[Pista]
números.longitud == 2
[Código]
[Python]
[Método 1: Operación de bits]
Inserte la descripción de la imagen aquí

class Solution:
    def swapNumbers(self, numbers: List[int]) -> List[int]:
        numbers[0]^=numbers[1]
        numbers[1]=numbers[0]^numbers[1]
        numbers[0]^=numbers[1]
        return numbers

[Método 2: operación aritmética]
Inserte la descripción de la imagen aquí

class Solution:
    def swapNumbers(self, numbers: List[int]) -> List[int]:
        numbers[0] -= numbers[1]
        numbers[1] += numbers[0]
        numbers[0] = numbers[1] - numbers[0]
        return numbers

[Método 3: método de lista]
Inserte la descripción de la imagen aquí

class Solution:
    def swapNumbers(self, numbers: List[int]) -> List[int]:
        numbers.append(numbers[0])
        numbers.pop(0)
        return numbers

Supongo que te gusta

Origin blog.csdn.net/kz_java/article/details/115275038
Recomendado
Clasificación