0
我有一個直方圖,我需要找到直方圖下最大矩形內的酒吧索引。 找到直方圖下的最大的矩形的方法是在這個環節在直方圖中查找最大矩形區域中的酒吧索引
http://www.geeksforgeeks.org/largest-rectangle-under-histogram/
,並在網絡上的多個環節解釋。我無法檢索輸出矩形內的條的索引。 任何想法? 謝謝
我有一個直方圖,我需要找到直方圖下最大矩形內的酒吧索引。 找到直方圖下的最大的矩形的方法是在這個環節在直方圖中查找最大矩形區域中的酒吧索引
http://www.geeksforgeeks.org/largest-rectangle-under-histogram/
,並在網絡上的多個環節解釋。我無法檢索輸出矩形內的條的索引。 任何想法? 謝謝
從已發佈的鏈接:
對於HIST [TP],「左指數」是以前的(以前以TP)項目在堆棧和「右指數」是「我'(當前指數)。
所以,你必須編輯getMaxArea()方法來存儲最大區域的左側和右側指標:
int getMaxArea(int hist[], int n)
{
// ..
int rindex=0;
int lindex=0;
while (i < n)
{
//..
if (max_area < area_with_top)
{max_area = area_with_top;
lindex=i-(max_area/hist[tp])+1;
rindex=i;
}
//..
}
while (s.empty() == false)
{
//..
if (max_area < area_with_top)
{max_area = area_with_top;
lindex=i-(max_area/hist[tp])+1;
rindex=i;
}
//..
}
//..
cout << "indexs: " << lindex << " " << rindex << "\n"; // u may pass them to main method, if needed
return max_area;
}
我不是一個C++程序員,所以你可以優化我的嘗試, 你可以在這裏找到編輯的代碼:ideone: online compiler