主頁有其他數(shù)據(jù)結構內(nèi)容(持續(xù)更新中)
創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設,京口企業(yè)網(wǎng)站建設,京口品牌網(wǎng)站建設,網(wǎng)站定制,京口網(wǎng)站建設報價,網(wǎng)絡營銷,網(wǎng)絡優(yōu)化,京口網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。難度:Hard 代碼:class Solution {public:
int trap(vector& height) {if (height.size()<= 2) return 0; // 可以不加
stackst; // 存著下標,計算的時候用下標對應的柱子高度
st.push(0);
int sum = 0;
for (int i = 1; i< height.size(); i++) {if (height[i]< height[st.top()]) { // 情況一
st.push(i);
} if (height[i] == height[st.top()]) {// 情況二
st.pop(); // 其實這一句可以不加,效果是一樣的,但處理相同的情況的思路卻變了。
st.push(i);
} else {// 情況三
while (!st.empty() && height[i] >height[st.top()]) {// 注意這里是while
int mid = st.top();
st.pop();
if (!st.empty()) {int h = min(height[st.top()], height[i]) - height[mid];
int w = i - st.top() - 1; // 注意減一,只求中間寬度
sum += h * w;
}
}
st.push(i);
}
}
return sum;
}
};
你是否還在尋找穩(wěn)定的海外服務器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調(diào)度確保服務器高可用性,企業(yè)級服務器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧