day06-Métodos e matrizes Java (2) lição de casa

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 }

 

Acho que você gosta

Origin www.cnblogs.com/dust2017/p/12705267.html
Recomendado
Clasificación