前往
大廳
主題

LeetCode - 2975. Maximum Square Area by Removing Fences From a Field 解題心得

Not In My Back Yard | 2025-04-23 12:00:01 | 巴幣 2 | 人氣 35

題目連結:


題目意譯:
現在現在有一個大小為 (m - 1) × (n - 1) 的大型矩形平原,其角落位於 (1, 1) 和 (m, n),並且包含著若干個水平與鉛直方向的圍欄,其分別以 hFences 和 vFences 給定。

水平圍欄的座標為 (hFences[i], 1) 到 (hFences[i], n),而鉛直圍欄的座標為 (1, vFences[i]) 到 (m, vFences[i])。

回傳藉由移除若干個(可能零個)圍欄來得到的方形平原之最大面積。如果不可能圍出一個方形平原,則回傳 -1。

由於答案可能很大,先將其模 10 ^ 9 + 7 後再回傳。

注:該平原被座標為 (1, 1) 到 (1, n) 及 (m, 1) 到 (m, n) 的兩個水平圍欄以及座標為 (1, 1) 到 (m, 1) 及 (1, n) 到 (m, n) 的兩個鉛直圍欄所圍住。這些圍欄無法被移除。

限制:
3 ≦ m, n ≦ 10 ^ 9
1 ≦ hFences.length, vFences.length ≦ 600
1 < hFences[i] < m
1 < vFences[i] < n
hFences 和 vFences 各自中的數字彼此相異。



範例測資:
範例 1:
輸入: m = 4, n = 3, hFences = [2,3], vFences = [2]
輸出: 4
解釋: 移除位於 2 的水平圍欄以及位於 2 的鉛直圍欄來得到方形平原,其面積 4。

範例 2:
輸入: m = 6, n = 7, hFences = [2], vFences = [4]
輸出: -1
解釋: 可以證明不可能藉由移除圍欄來得到方形平原。


解題思維:
基本上跟這題類似。




此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。

0則留言

更多創作