[Pregunta diaria de Likou 01] La suma de dos números

Abrí una nueva columna para registrar mis pruebas diarias y también para desarrollar el hábito del estudio diario. ¡Espero seguir siendo yo mismo después de un año!

1. Tema

Dada una matriz de enteros  nums y un valor objetivo entero  , busque los dos números enteros   cuya  suma es el valor objetivo target en la matriz   y devuelva sus subíndices de matriz.target

Puedes asumir que solo hay una respuesta para cada entrada. Sin embargo, el mismo elemento de la matriz no puede aparecer repetidamente en la respuesta.

Puede devolver respuestas en cualquier orden.

Ejemplo 1:

Entrada: nums = [2,7,11,15], destino = 9
 Salida: [0,1]
 Explicación: Debido a que nums[0] + nums[1] == 9, devuelve [0, 1].

Ejemplo 2:

Entrada: números = [3,2,4], objetivo = 6
 Salida: [1,2]

Ejemplo 3:

Entrada: números = [3,3], objetivo = 6
 Salida: [0,1]

Dos, análisis del pensamiento.

Algunas personas se enamoran, otras conducen de noche para ver el mar y otras no pueden resolver el primer problema de LeetCode.

Soy yo (°̥̥̥̥̥̥̥̥o°̥̥̥̥̥̥̥̥)
 

Pero está bien, bien decía la "Práctica Deliberada", tenemos que encontrar nuestras propias deficiencias, esta es nuestra retroalimentación, y luego fortalecerla, después de algunos ciclos, es difícil para nosotros no mejorar.

Primero leí la respuesta, luego continué depurando y finalmente la escribí.

Sin más preámbulos, aquí está mi proceso de pensamiento:

Como buscamos la suma de dos números, primero debemos definir dos variables i y j para atravesar la matriz.

Luego pisé el hoyo varias veces y no me di cuenta de que el título decía: "El mismo elemento en la matriz no puede aparecer repetidamente en la respuesta". (Esto también me recuerda que es muy importante leer las preguntas con atención cuando haciendo las preguntas ! )

Luego, como no se puede repetir, dejamos que i atraviese directamente desde el subíndice 0 y j atraviese desde i+1.

Finalmente está la escritura del valor de retorno, es la primera vez que me encuentro con el problema de devolver una matriz y basta con pisar el hoyo una vez. Ahora escríbalo así: return new int [] {}; si lo encuentra más tarde, podrá aprenderlo en profundidad.

3. Código completo

class Solution {
    public int[] twoSum(int[] nums, int target) {
         
        for(int i = 0 ;i<nums.length;i++ ){
            for(int j = i+1 ; j< nums.length; j++){
                if(nums[i]+nums[j]==target){
                    return new int[]{i,j};
                }
            }
        }

        return new int[]{0};
    }
}

Lo anterior es todo el contenido de este blog. Si hay alguna deficiencia, indíquela. ¡Espero progresar con usted!

Supongo que te gusta

Origin blog.csdn.net/C_Small_Cai/article/details/132629040
Recomendado
Clasificación