cppclass Solution {
public:
const int MOD = 1000000007;
int maxArea(int h, int w, vector<int>& horizontalCuts, vector<int>& verticalCuts) {
std::sort(horizontalCuts.begin(), horizontalCuts.end());
std::sort(verticalCuts.begin(), verticalCuts.end());
// 计算水平切割的最大间隔和竖直切割的最大间隔
int maxHorizontalGap = 0;
int maxVerticalGap = 0;
// 计算水平和竖直方向上的最大间隔
for (int i = 1; i < horizontalCuts.size(); i++) {
maxHorizontalGap = std::max(maxHorizontalGap, horizontalCuts[i] - horizontalCuts[i - 1]);
}
for (int i = 1; i < verticalCuts.size(); i++) {
maxVerticalGap = std::max(maxVerticalGap, verticalCuts[i] - verticalCuts[i - 1]);
}
// 计算最大面积并取模
long long maxArea = (long long)maxHorizontalGap * maxVerticalGap % MOD;
return maxArea;
}
};
本文作者:yowayimono
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!