Hola a todos, soy " @ 不 飞 的 小飞 驴"
1 Dado un número de matriz de enteros y un objetivo de valor de destino entero, busque los dos enteros cuya suma sea el valor de destino en la matriz y devuelva sus subíndices de matriz.
Ejemplo:
Dado nums = [2,7,11,15], target = 9,
porque nums [0] + nums [1] = 2 + 7 = 9,
devuelve [0,1].
Lo primero que me viene a la mente es agregar el primer elemento y los siguientes elementos para ver si es igual al valor objetivo, si no, el segundo y el tercero.
Utilice el valor como clave y el subíndice como valor, recorra la matriz, establezca un mapa, determine si el mapa contiene el valor objetivo actual: el valor actual, si lo hay, regrese directamente, si no, póngalo en el mapa .
Entonces escribiremos el código más tarde, si hay un bucle for de doble capa, se recomienda considerar map.
public int[] twoSum(int[] nums,int target){
Map<Integer,Integer> map=new HashMap<>();
for(int i=0;i<nums.length;i++){
if(map.containsKey(target-nums[i])){
return new int[]{
map.get(target-num[i]),i}
}
map.put(num[i],i);
}
return new int[]{
0,0};
}