मान लीजिए कि हमारे पास इसकी लंबाई और चौड़ाई का उपयोग करके प्रदर्शित आयतों की एक सूची है। हम किसी भी आयत को 90 डिग्री तक घुमा सकते हैं इसलिए घुमाने के बाद चौड़ाई लंबाई और इसके विपरीत हो जाएगी। हमें यह जांचना होगा कि क्या हम आयतों को चौड़ाई के गैर-बढ़ते क्रम में क्रमबद्ध कर सकते हैं।
इसलिए, यदि इनपुट रेक्ट्स =[[4, 5], [5, 7], [4, 6]] की तरह है, तो आउटपुट सही होगा क्योंकि चौड़ाई [5,7,6] अब अगर हम घुमाते हैं अंतिम दो आयतों के बाद चौड़ाई [5,5,4] होगी जो कि गैर-बढ़ते तरीके से है।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- एम:=99999
- मैं के लिए 0 से रेक्ट के आकार की सीमा में, करते हैं
- यदि आयत की अधिकतम लंबाई और चौड़ाई <=m, तो
- m :=ith आयत की अधिकतम लंबाई और चौड़ाई
- अन्यथा जब आयत की न्यूनतम लंबाई और चौड़ाई <=m
- m :=ith आयत की न्यूनतम लंबाई और चौड़ाई
- अन्यथा,
- झूठी वापसी
- यदि आयत की अधिकतम लंबाई और चौड़ाई <=m, तो
- सही लौटें
उदाहरण
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
def solve(rect): m = 99999 for i in range(len(rect)): if max(rect[i][0], rect[i][1]) <= m: m = max(rect[i][0], rect[i][1]) elif min(rect[i][0], rect[i][1]) <= m: m = min(rect[i][0], rect[i][1]) else: return False return True rects = [[4, 5], [5, 7], [4, 6]] print(solve(rects))
इनपुट
[[4, 5], [5, 7], [4, 6]]
आउटपुट
True