J'ai une méthode pour le polynome binomial, mais je veux qu'il produise un tableau dans un ordre inverse. Je peux inverser les tableaux après la méthode, mais ce n'est pas très efficace.

Pouvez-vous m'aider?

public double[] binomialPolynome(int i, int j) {
    int power = 0;
    if (maxPower[i] < j) {
        power = maxPower[i];
    } else {
        power = j;
    }
    double[] result = new double[power + 1];
    for (int k = 0; k < result.length; k++) {
        result[k] = factorial(power) / (factorial(k) * factorial(power - k))
                * Math.pow(-xPoints[i], k);
    }
    return result;
}
0
LukasT 25 avril 2020 à 19:40

2 réponses

Meilleure réponse

Vous pouvez remplir le tableau result de droite à gauche, plutôt que de gauche à droite.

result[k] = factorial(power) / (factorial(k) * factorial(power - k))
                * Math.pow(-xPoints[i], k);

Devient:

result[result.length-1-k] = factorial(power) / (factorial(k) * factorial(power - k))
                * Math.pow(-xPoints[i], k);

Ou même juste

result[power-k] = factorial(power) / (factorial(k) * factorial(power - k))
                * Math.pow(-xPoints[i], k);

Depuis result.length = power+1

0
RaffleBuffle 25 avril 2020 à 17:42

Si vous pouvez envisager de remplacer double[] par Double [], vous pouvez facilement y parvenir en:

Collections.reverse(Arrays.asList(result)); 
System.out.println(Arrays.asList(result));
1
Sparker0i 25 avril 2020 à 16:49