Puzzle: Trouver plus grand rectangle (maximale rectangle de problème)

Ce qui est le plus efficace algorithme pour trouver le rectangle avec la plus grande superficie qui s'inscrivent dans l'espace vide?

Disons que l'écran ressemble à ceci ('#' représente la zone remplie):

....................
..............######
##..................
.................###
.................###
#####...............
#####...............
#####...............

Une solution probable est:

....................
..............######
##...++++++++++++...
.....++++++++++++###
.....++++++++++++###
#####++++++++++++...
#####++++++++++++...
#####++++++++++++...

Normalement, je voudrais profiter de trouver une solution. Cette fois, bien que j'aimerais éviter de perdre du temps à tâtonner sur moi-même depuis que cela a une utilité pratique pour un projet que je suis en train de travailler sur. Est-il une solution bien connue?

Shog9 a écrit:

Est votre entrée un tableau (comme le laissent supposer les autres réponses), ou une liste des occlusions dans la forme d'arbitraire, de taille moyenne, placé rectangles (comme ce pourrait être le cas dans un système de fenêtrage lorsque vous traitez avec des positions de la fenêtre)?

Oui, j'ai une structure qui assure le suivi d'un ensemble de fenêtres placées sur l'écran. J'ai aussi une grille qui conserve la trace de toutes les régions entre chaque bord, qu'ils soient vides ou pleins, et la position d'un pixel de leur bord gauche ou supérieur. Je pense qu'il ya une forme modifiée qui profitent de cette propriété. Connaissez-vous un?

InformationsquelleAutor Mark Renouf | 2008-08-10