sexta-feira, 8 de novembro de 2019

JavaXfit - Java Crossfit training 1



Nosso desafio JavaXfit está aqui, com a solução.
Dados: um vetor de inteiros, a quantidade de posições a rotacionar para a esquerda, promova a rotação desejada e retorne o novo vetor. Exemplo: 2 1 2 3 4 5 6 7 8 Resultado esperado: 3 4 5 6 7 8 1 2 Restrição: A complexidade computacional da sua implementação tem que ser até O(n).


Não teve "saco" de tentar fazer, né? Depois, não reclame de ser rejeitado nas entrevistas de emprego!

Taqui, ó:

static int[] rotLeft(int[] a, int d) { int pos1 = d > a.length ? a.length - (d % a.length) : a.length - d; int keep = pos1; int [] result = new int [a.length]; for (int x=0; x<a.length; x++) { result[pos1] = a[x]; pos1 = pos1 == (a.length - 1) ? 0 : pos1 + 1; } return result; }

Empacota isso em uma classe com "main" e rode!

Nenhum comentário:

Postar um comentário