मान लीजिए, हमें (x, y) के रूप में n अंक दिए गए हैं। एक ऊर्ध्वाधर क्षेत्र एक ऐसा क्षेत्र है जो y-अक्ष के अनुदिश अपरिमित रूप से विस्तारित होता है। हमें दो बिंदुओं के बीच के ऊर्ध्वाधर क्षेत्र का पता लगाना है ताकि कोई अन्य बिंदु क्षेत्र के अंदर न हो और सबसे चौड़ा हो।
इसलिए, यदि इनपुट pts =[[10,9],[11,11],[9,6],[11,9]] जैसा है, तो आउटपुट 1 होगा।
लाल और नीले रंग के क्षेत्र इष्टतम हैं और उनके अंदर कोई बिंदु नहीं है।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
-
सूची अंक क्रमित करें
-
मेरे लिए 1 से लेकर पीटी के आकार तक, करें
-
(pts[i, 0] - pts[i - 1, 0])
. का अधिकतम मान लौटाएं
-
उदाहरण
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें
def solve(pts): pts.sort() return max(pts[i][0] - pts[i - 1][0] for i in range(1, len(pts))) print(solve([[10,9],[11,11],[9,6],[11,9]]))
इनपुट
[[10,9],[11,11],[9,6],[11,9]]
आउटपुट
1