这是切蛋糕,思路就是 先做排序,找出最大长度和宽度即可 因为这里给的是vector,可能存在不是顺序,所以我们先排序,假如是set,则会默认的自动排序。
int maxArea(int h, int w, vector<int>& horizontalCuts, vector<int>& verticalCuts) {
sort(horizontalCuts.begin(),horizontalCuts.end());
sort(verticalCuts.begin(),verticalCuts.end()); //排序
int maxH=0;
int pre=0;
for(int i:horizontalCuts)
{
maxH=max(maxH,i-pre);
pre=i;
}
maxH=max(maxH,h-pre); // 记得考虑到h之间的距离 ,比如说我们找到了2-4是最长的那一段
//还要考虑 4-5这一段,也就是h-pre