Por favor me ajude a resolver meu trabalho de Java sobre matrizes

Declaração do problema:

Dado um array de ints, calcule se o array contém em algum lugar um valor seguido no array por esse valor multiplicado por 10. Usamos a convenção de considerar apenas a parte do array que começa no índice dado. A chamada inicial passará no índice como 0.

Exemplos:

public boolean array220(int[] nums, int index)

array220 ({1, 2, 20}, 0) → verdadeiro
array220 ({3, 30}, 0) → verdadeiro
array220 ({3}, 0) → falso **

Eu estou preso com o problema com nenhuma abordagem para resolvê-lo.

 for (int i = index; i < nums.length - 1; i++) if (nums[i] * 10 == nums[i + 1]) return true; return false; 

Vou te dar um código psuedo para trabalhar.

 Let `nums` be my array Let `i` be the starting index Let `index` be `i + 1` for all indices < array's length, iterate Let currNum be `array[index - 1]` if currNum times 10 equals `array[index]` return true increment index return false because we found no numbers that we true 

Não vou lhe dar a resposta como um programa em Java, já que várias pessoas já fizeram isso.

Em caso de dúvida, tente escrever o programa em inglês (ou em qualquer outra língua nativa). Se você não puder escrevê-lo com detalhes completos, escreva o que puder e, em seguida, refine em pedaços.

Dado um array de ints, calcule se o array contém em algum lugar um valor seguido no array por esse valor multiplicado por 10. Usamos a convenção de considerar apenas a parte do array que começa no índice dado. A chamada inicial passará no índice como 0.

O que sabemos aqui? Nós temos uma matriz e um índice inicial. Então o que você quer fazer? Talvez isso seja um pouco complicado, então, se estivéssemos fazendo isso manualmente, como você começaria?

  1. Olhe para o primeiro elemento da matriz (em que “primeiro” é o índice inicial)
  2. Olhe para o próximo elemento da matriz e divida-o por 10
  3. Veja os resultados das etapas 1 e 2. Eles são os mesmos?
    • Se eles são, retorne verdadeiro
    • Se não estiverem, inicie novamente na etapa 1, mas observe os seguintes elementos

Em seguida, refine ainda mais:

  1. Definir o índice atual para ser o índice inicial
  2. Para cada elemento da matriz, do índice atual até o final:
    1. Obtenha o seguinte elemento e divida por 10
    2. Os dois números são iguais? Se assim for, estamos a fazer, devolver verdade
    3. Se não, incremente o índice atual e repita

Você pode notar que há um pequeno problema com a etapa 2: você não quer fazer um loop até o final. Porque se você fizer isso, não haverá nenhum elemento “próximo” para compará-lo. Então, na verdade, você quer fazer um loop para o penúltimo elemento.

Continue refinando. Em algum momento você pode traduzir diretamente para Java ou qualquer linguagem de programação que você deseja. (Se você não pode fazer este último passo, você precisa adicionar um passo adicional 0: Aprenda a linguagem de programação primeiro)

Resposta recursiva apenas para o inferno … também eu não iria postar isso é não havia respostas válidas. Faça uma tentativa e poste o que você tentou.

 public boolean array220(int[] nums, int index){ if(index >= nums.length - 1) return false; if(nums[index] * 10 == nums[index + 1]){ return true; } else { return array220(nums, ++index); } }