O(mlogm + nlogn) time O(1) space
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| class Solution { public: int maxArea(int h, int w, vector<int>& horizontalCuts, vector<int>& verticalCuts) { return f(h, horizontalCuts) * f(w, verticalCuts) % int(1e9 + 7); }
long f(int sz, vector<int> &A) { A.push_back(sz); A.push_back(0); sort(begin(A), end(A)); int res = 0; for (int i = 1; i < size(A); ++i) { res = max(res, A[i] - A[i - 1]); } return res; } };
|