1. Dado un número entero de matrices y un valor objetivo objetivo, encuentre los dos enteros cuya suma es el valor objetivo en la matriz
y devuelva su índice de matriz, suponiendo que cada entrada corresponderá solo a una respuesta
( Debido a que son dos números, hay dos valores de subíndice, por lo que este método devuelve un int [], que contiene el índice de matriz correspondiente a los dos enteros)
2. Dada una matriz, mueva los elementos en la matriz hacia la derecha por k posiciones, donde k es un número no negativo.
Ejemplo
de entrada: [6, 7] y k = 3
de salida: [5,6,7,1,2,3,4]
Explicación:
derecho de desplazamiento cíclico uno: [7 , 1,2,3,4,5,6]
Girar a la derecha para rotar 2 bits: [6,7,1,2,3,4,5]
Girar a la derecha para mover 3 pasos: [5,6,7,1 , 2,3,4]
Respuesta:
1)
1 paquete com.day006; 2 3 import java.util.Arrays; 4 5 / * 6 * 1. Dado un número entero de matrices y un valor objetivo objetivo, 7 * Encuentre la suma en la matriz como valor objetivo Los dos enteros, 8 * y devuelven sus subíndices de matriz, suponiendo que cada entrada solo corresponderá a una respuesta 9 (porque son dos números, por lo que hay dos valores de subíndice, por lo que este método devuelve un int [], 10 contiene índices de matriz correspondientes a dos enteros) 11 * / 12 public class Demo1 { 13 public static void main (String [] args) { 14 int [] arr = {1,5,4,6,3 }; 15 int [] a = findAdd (arr, 10 ); 16 System.out.println (Arrays.toString (a)); 17 } 18 19 public static int [] findAdd ( int [] arr, int target) { 20 int [] printarr = new int [2 ]; 21 para ( int i = 0; i <longitud de arr; i ++ ) { 22 para ( int j = i + 1; j <longitud de arr; j ++ ) { 23 if (arr [j] == target - arr [i ]) { 24 printarr [0] = i; 25 printarr [1] = j; 26 } 27 } 28 } 29 return printarr; 30 } 31 }
2)
1 paquete com.day006; 2 3 import java.util.Arrays; 4 5 / * 6 * 2. Dada una matriz, mueva los elementos en la matriz hacia la derecha por k posiciones, donde k es un número no negativo. 7 8 Ejemplo 9 Entrada: [1,2,3,4,5,6,7] yk = 3 10 Salida: [5,6,7,1,2,3,4] 11 Explicación: 12 ciclos a la derecha Mover 1 bit: [7,1,2,3,4,5,6] 13 Ciclo a la derecha para mover 2 bits: [6,7,1,2,3,4,5] 14 Ciclo a la derecha para mover 3 pasos: [5,6,7,1,2,3,4] 15 * / 16 public class Demo2 { 17 18 public static void main (String [] args) { 19 int [] a = {1,2,3,4,5,6,7 }; 20 // Llame al método moveCycle y use el movimiento de cadena para lograr la salida 21 String move = Arrays.toString (moveCycle (a, 3 )); 22 System.out.println (move); 23 } 24 25 public static int [] moveCycle ( int [] arr, int step) { 26 int len = arr.length; // longitud de matriz de arr matriz 27 // nuevo steparr Matriz, utilizada para mantener la matriz después de mover la posición 28 int [] steparr = new int [len]; 29 for ( inti = 0; i <len; i ++ ) { 30 if ((i + step)> (len-1 )) { 31 // Si el valor del índice de la matriz steparr (i + step) es mayor que el valor del índice de la matriz arr array, 32 // El elemento se desplaza hacia el frente, y la longitud de la matriz de arr se resta, 33 // El valor de índice de steparr se convierte en (i + step-len) 34 steparr [i + step-len] = arr [i]; 35 } 36 más { 37 // valor de índice de la matriz steparr 38 steparr [i + paso] = arr [i]; 39 } 40 41 } 42 return steparr; 43 } 44 45 }