Alguem poderia me ajudar com esse problema

Criar uma função que recebe um número N, e retorna um vetor com uma série de N
números seguindo a seguinte função

      1         se i <2 

V[i] =
vetor[i-2]+ vetor[i-1], caso contrario

ele tem que retornar 1,1,2,3,5 quando o N for 5 segue o código que eu fiz mas n ta dando esse resultado

static int [] vetorN(int N){
int vetor[] = new int[N];
vetor[1] = 1;
for(int i=2; i<vetor.length; i++){
vetor[i] = vetor[i-2]+ vetor[i-1];
}
return vetor;
}

public static void main(String[] args) {
    int v[] = vetorN(5);
    System.out.println(Arrays.toString(v));
}

}
o resultado que dando é 0,1,1,2,3

O que está acontecendo é que o valor no índice 0 é inicializado com 0, assim na primeira soma, o valor no índice 2 será de 1.

representação do array antes da iteração: [0, 1, 0, 0, 0]
após a primeira iteração: [0, 1, 1, 0, 0]
após a segunda iteração: [0, 1, 1, 2, 0]
e assim por diante...

Você pode adicionar o número 1 ao índice 0.

static int[] vetorN(int n){
        int[] vetor = new int[n];
        vetor[0] = 1;
        vetor[1] = 1;

        for(int i = 2; i < vetor.length; i++){
            vetor[i] = vetor[i - 2] + vetor[i - 1];
        }

        return vetor;
    }

    public static void main(String[] args) {
        int[] v = vetorN(5);
        System.out.println(Arrays.toString(v));
    }

Agora aquela mesma representação com essa alteração:

representação do array antes da iteração: [1, 1, 0, 0, 0]
após a primeira iteração: [1, 1, 2, 0, 0]
após a segunda iteração: [1, 1, 2, 3, 0]
e assim por diante...

O retorno é o array desejado:

image

obrigado percebi isso agora, mta falta de atenção.