यह समस्या किसी अन्य भाषा में, MySQL के बाहर बहुत बेहतर हल है। दूसरे शब्दों में, आपके पास सीटों का एक मैट्रिक्स है, जिनमें से कुछ पर कब्जा है (ग्रे वाले):
और आप दिए गए आयामों के सभी आयत ढूँढ़ना चाहते हैं , 3x5 कहें। आप इसे दो पास रैखिक O(n)
. द्वारा बहुत कुशलता से कर सकते हैं समय एल्गोरिथम (एन सीटों की संख्या होने के नाते):
1) पहले पास में , नीचे से ऊपर तक कॉलम के अनुसार जाएं, और प्रत्येक सीट के लिए, इस तक उपलब्ध लगातार सीटों की संख्या को इंगित करें:
दोहराएं, जब तक:
2) दूसरे पास में , पंक्तियों के अनुसार जाएं, और 3 से अधिक या बराबर कम से कम 5 लगातार संख्याएं देखें:
तो, अंत में, आपको मिलता है:
जो समाधान देता है:ये संख्या क्रम (हरे क्षेत्र) 2 संभावित आयतों के शीर्ष किनारे हैं जो 3x5 खाली सीटों के हैं।
एल्गोरिथ्म को आसानी से बढ़ाया जा सकता है उदा। अधिकतम क्षेत्रफल वाले सभी आयत प्राप्त करें। या, इसका उपयोग एन सीटों के किसी भी निरंतर क्षेत्रों (न केवल आयत-आकार) को खोजने के लिए किया जा सकता है - बस, दूसरे पास के दौरान, संख्याओं के निरंतर अनुक्रम की तलाश करें जो कम से कम एन तक हो।