1. Dado um número inteiro da matriz e um alvo do valor-alvo, encontre os dois inteiros cuja soma é o valor-alvo na matriz
e retorne o índice da matriz, assumindo que cada entrada corresponda apenas a uma resposta
( Como são dois números, existem dois valores subscritos; portanto, esse método retorna um int [], que contém o índice da matriz correspondente aos dois números inteiros)
2. Dada uma matriz, mova os elementos da matriz para a direita pelas posições k, onde k é um número não negativo.
Exemplo
de entrada: [6, 7] e k = 3
Saída: [5,6,7,1,2,3,4]
Explicação:
direita um deslocamento cíclico: [7 , 1,2,3,4,5,6]
Gire para a direita para girar 2 bits: [6,7,1,2,3,4,5]
Gire para a direita para mover 3 etapas: [5,6,7,1 2,3,4]
Resposta:
1
1 pacote com.day006; 2 3 import java.util.Arrays; 4 5 / * 6 * 1. Dado um número inteiro da matriz e um alvo de valor alvo, 7 * Encontre a soma na matriz como o valor alvo Os dois números inteiros, 8 * e retornam seus subscritos de matriz, assumindo que cada entrada corresponda apenas a uma resposta 9 (porque são dois números, portanto existem dois valores de subscrito, portanto esse método retorna um int [], 10 contém índices de matriz correspondentes a dois números inteiros) 11 * / 12 classe pública 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 estático int [] findAdd ( int [] arr, int target) { 20 int [] printarr = new int [2 ]; 21 for ( int i = 0; i <comprimento do arr.; I ++ ) { 22 para ( int j = i + 1; j <comprimento do 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 pacote com.day006; 2 3 import java.util.Arrays; 4 5 / * 6 * 2. Dada uma matriz, mova os elementos da matriz para a direita pelas posições k, em que k é um número não negativo. 7 8 Exemplo 9 Entrada: [1,2,3,4,5,6,7] ek = 3 10 Saída: [5,6,7,1,2,3,4] 11 Explicação: 12 ciclos para a direita Mover 1 bit: [7,1,2,3,4,5,6] 13 Ciclo para a direita para mover 2 bits: [6,7,1,2,3,4,5] 14 Ciclo para a direita para mover 3 etapas: [5,6,7,1,2,3,4] 15 * / 16 classe pública Demo2 { 17 18 public static void main (String [] args) { 19 int [] a = {1,2,3,4,5,6,7 }; 20 // Chame o método moveCycle e use a string move para obter a saída 21 String move = Arrays.toString (moveCycle (a, 3 )); 22 é System.out.printlnl (caminho); 23 é } 24 25 pública estático int [] moveCycle ( int [] arr, int PASSO) { 26 é int len = arr.Length; // comprimento de matriz arr matriz 27 // Nova steparr Matriz, usada para manter a matriz após mover a posição 28 int [] steparr = new int [len]; 29 for ( inti = 0; i <len; i ++ ) { 30 if ((i + step)> (len-1 )) { 31 // Se o valor do índice da matriz steparr (i + step) for maior que o valor do índice da matriz arr, 32 // O elemento faz um loop para a frente e o comprimento da matriz de arr é subtraído, 33 // O valor do índice de steparr se torna (i + step-len) 34 steparr [i + step-len] = arr [i]; 35 } 36 else { 37 // valor do índice da matriz steparr 38 steparr [i + step] = arr [i]; 39 } 40 41 } 42 return steparr; 43 } 44 45 }