Calculer la somme des éléments dans une matrice efficacement

Dans une interview, j'ai demandé si on m'a donné un n*m la matrice de la façon de calculer la somme des valeurs dans un sous-matrice (défini par haut-gauche, bas-droite de coordonnées).

M'a dit que je pouvais pré-processus de la matrice.

M'a dit que la matrice pourrait être énorme, et pourrait donc le sous-matrice de l'algo a dû être efficace. Je suis tombé un peu et n'a pas dit la meilleure réponse.

N'importe qui ont une bonne réponse?

  • est la matrice connue pour être fragmentées?
  • un quadtree, où chaque nœud contient la somme de ses enfants serait un soutien relativement facile de mettre à jour, mais pas aussi facile résumant comme la réponse la plus simple d'Alan.
  • La question commence par "Dans une interview, on m'a demandé". Alors non, pas de devoirs, à moins qu'il existe des situations où les devoirs d'une certaine manière est constitué d'entretiens...
  • Oups! 🙂
  • La matrice peut être dispersé ou dense, il a mentionné qu'il a besoin de travailler pour n'importe quel cas.
InformationsquelleAutor slippytoad | 2010-02-17