J'ai besoin de calculer la somme d'un tableau multidimensionnel. ne nécessite pas d'espace supplémentaire, pas de récursivité.Somme de la matrice multidimensionnelle
class MultiDimensionArray {
// This is a provided function, Assume it works
public static Long getValue(int... indexOfDimension) {
//...
return value;
}
// lengthOfDeminsion: each dimension's length, assume it is valid: lengthOfDeminsion[i]>0.
public static Long sum(MultiDimensionArray mArray, int[] lengthOfDeminsion) {
...
return sum;
}
Comment implémenter la méthode sum()? il semble que je doive implémenter une "boucle imbriquée de niveau n". Je peux le faire via la récursivité, mais sans récursion, je ne sais vraiment pas comment y parvenir.
Vous voulez probablement dire espace-complexité constante car vous aurez au moins besoin d'une variable pour créer la somme! Le modèle semble également incomplet car il ne semble pas y avoir d'informations sur le nombre de dimensions, seulement la taille de certaines dimensions a priori connues et indexées. Mais comme cela est très large et ressemble à un devoir: qu'avez-vous essayé? – sascha
Si je lis correctement le code sous-spécifié, il est impossible d'appeler 'getValue' sans utiliser au moins O (n) space (où n est le nombre de dimensions), car le simple stockage des paramètres de la fonction prend O (n) espace. – Dukeling