中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

中國幼兒在線幼兒園網(wǎng)站建設(shè)天津網(wǎng)站建設(shè)

中國幼兒在線幼兒園網(wǎng)站建設(shè),天津網(wǎng)站建設(shè),視覺設(shè)計專業(yè) 學(xué)校排名,美國做汽車配件的網(wǎng)站題目 見上一篇&#xff1a; 較難算法美麗塔時間復(fù)雜度O(n)-CSDN博客 時間復(fù)雜度 O(n) 分析 接著上篇。從左向右依次處理Left&#xff0c;處理Left[i]時&#xff0c;從右向左尋找第一個符合maxHeights[j]<maxHeights[i]的j。如果j1<j2&#xff0c;且maxHeights[j1]&g…

題目

見上一篇:?較難算法美麗塔時間復(fù)雜度O(n)-CSDN博客

時間復(fù)雜度

O(n)

分析

接著上篇。從左向右依次處理Left,處理Left[i]時,從右向左尋找第一個符合maxHeights[j]<maxHeights[i]的j。如果j1<j2,且maxHeights[j1]>=maxHeights[j2],那j1永遠(yuǎn)不會被選到。比如:{1,3,2,4,5},由于2在3右邊,且小于3,則無論如何不會選中3。{1,2,2.....},后面無論有什么數(shù),都不會選中第一個2,要么是其他數(shù),要么是第二個2。
可以用棧實現(xiàn),入棧maxHeights[i]之前,先出棧大于等于maxHeights[i]的數(shù),剩余的都小于maxHeights[i]的數(shù)。也就是棧按升序排序的。由于maxHeights[i]和heights[i]都可以通過索引查詢,棧中只需要記錄索引。
Right類似,不再累贅。

樣例分析

maxHeights

Left的棧情況

{1,2,3,4,5}

1

12

123

1234

12345

{5,4,3,2,1}

5

4

3

2

1

{1,2,4,3,5}

1

12

124

123

1235

{3,1,2}

3

1

12

{2,1,3}

2

1

13

代碼

核心代碼

class Solution {
public:long long maximumSumOfHeights(vector<int>& maxHeights) {m_c = maxHeights.size();m_vLeft.resize(m_c);m_vRight.resize(m_c);{//處理左邊stack<int> sta;//記錄做邊的索引for (int i = 0; i < m_c; i++){const auto& h = maxHeights[i];while (sta.size() && (maxHeights[sta.top()] >= h)){sta.pop();//左邊比右邊大,不會被選中}if (sta.size()){m_vLeft[i] = m_vLeft[sta.top()] + (long long)h * (i - sta.top());}else{m_vLeft[i] = ?(long long)h * (i -(-1) );}sta.emplace(i);}}{//處理右邊stack<int> sta;//記錄做邊的索引for (int i = m_c - 1; i >= 0; i--){const auto& h = maxHeights[i];while (sta.size() && (maxHeights[sta.top()] >= h)){sta.pop();//左邊比右邊大,不會被選中}if (sta.size()){m_vRight[i] = m_vRight[sta.top()] + (long long)h * (sta.top()-i);}else{m_vRight[i] = (long long)h * (m_c-i);}sta.emplace(i);}}long long llRet = 0;for (int i = 0; i < m_c; i++){//假定i是山頂 ? ? ? ? ? ?long long llCur = m_vLeft[i] + m_vRight[i] - maxHeights[i];llRet = max(llRet, llCur);}return llRet;}int m_c;vector<long long> m_vLeft, m_vRight;
};

測試用代碼

class CDebug : public Solution
{
public:
?? ?long long maximumSumOfHeights(vector<long long>& maxHeights, vector<long long>& vLeft, vector<long long>& vRight)
?? ?{
?? ??? ?vector<int> maxs(maxHeights.begin(), maxHeights.end());
?? ??? ?long long llRet = Solution::maximumSumOfHeights(maxs);
?? ??? ?for (int i = 0 ; i < vLeft.size();i++ )
?? ??? ?{
?? ??? ??? ?assert(m_vLeft[i] == vLeft[i]);
?? ??? ??? ?assert(m_vRight[i] == vRight[i]);
?? ??? ?}

?? ??? ?//調(diào)試用代碼
?? ??? ?std::cout << "Left: ";
?? ??? ?for (int i = 0; i < m_c; i++)
?? ??? ?{
?? ??? ??? ?std::cout << m_vLeft[i] << " ";
?? ??? ?}
?? ??? ?std::cout << std::endl;
?? ??? ?std::cout << "Right: ";
?? ??? ?for (int i = 0; i < m_c; i++)
?? ??? ?{
?? ??? ??? ?std::cout << m_vRight[i] << " ";
?? ??? ?}
?? ??? ?std::cout << std::endl;
?? ??? ?return llRet;
?? ?}
};
int main()
{
?? ?vector < vector<vector<long long>>> param = { {{1,2,3,4,5} ,{1,3,6,10,15},{5,8,9,8,5}} ,
?? ??? ?{{5,4,3,2,1},{5,8,9,8,5},{15,10,6,3,1}} ,
?? ??? ?{{1,2,4,3,5},{1,3,7,9,14},{5,8,10,6,5}},
?? ?{{3,1,2}, {3,2,4},{5,2,2}},
?? ?{{2,1,3},{2,2,5},{4,2,3}},
?? ??? ?{{1000000000,1000000000,1000000000},{1000000000,2000000000,3000000000LL},{3000000000LL,2000000000,1000000000}} };
?? ?for (auto& vv : param)
?? ?{
?? ??? ?auto res = CDebug().maximumSumOfHeights(vv[0], vv[1], vv[2]);
?? ?}
?? ?//auto res = Solution().maxPalindromes("rire", 3);

//CConsole::Out(res);
}

測試環(huán)境

Win10,VS2022 C++17

下載

源碼:?【免費】美麗塔單調(diào)棧O(n)解法資源-CSDN文庫

doc 講解排版好:【免費】聞缺陷則喜算法冊(9月24增加美麗塔)資源-CSDN文庫

http://www.risenshineclean.com/news/27771.html

相關(guān)文章:

  • sae 網(wǎng)站模板線上營銷平臺有哪些
  • 政府網(wǎng)站建設(shè)什么網(wǎng)站可以免費推廣
  • wordpress 首頁模板河南靠譜seo地址
  • 北京中關(guān)村在線官網(wǎng)站群seo
  • 長沙簡單的網(wǎng)站建設(shè)公司威海百度seo
  • 翡翠原石網(wǎng)站首頁怎么做怎樣做app推廣
  • 網(wǎng)站手機(jī)端 怎么做阿里指數(shù)官方網(wǎng)站
  • 在局網(wǎng)站 作風(fēng)建設(shè)百度電話怎么轉(zhuǎn)人工
  • 網(wǎng)站備案當(dāng)面核驗中國搜索引擎市場份額
  • 汕頭網(wǎng)站推廣教程2345瀏覽器網(wǎng)址導(dǎo)航
  • 怎么做淘寶客網(wǎng)站賺錢整站優(yōu)化加盟
  • 做英文網(wǎng)站哪家好關(guān)鍵詞首頁排名優(yōu)化價格
  • 大寺網(wǎng)站建設(shè)公司不限次數(shù)觀看視頻的app
  • 網(wǎng)站備案填寫昆山網(wǎng)站制作公司
  • 可以做早安圖片的網(wǎng)站一鍵優(yōu)化大師下載
  • domain:網(wǎng)站建設(shè)網(wǎng)站建設(shè)的系統(tǒng)流程圖
  • 有了網(wǎng)站 怎么做排名優(yōu)化新聞頭條最新消息今日頭條
  • 企業(yè)網(wǎng)盤怎么申請seo搜索優(yōu)化 指數(shù)
  • 兼職做設(shè)計什么網(wǎng)站好360競價推廣
  • 建筑工地招聘信息網(wǎng)昆明網(wǎng)站seo公司
  • 網(wǎng)站開發(fā)網(wǎng)絡(luò)課程網(wǎng)絡(luò)營銷的平臺有哪些
  • 電商網(wǎng)站怎么做支付廣州專門做seo的公司
  • 上海做網(wǎng)站要多少錢邵陽seo優(yōu)化
  • 哪些網(wǎng)站做魔獸地圖樂云seo
  • 柳州市網(wǎng)站制作公司網(wǎng)站的seo方案
  • 網(wǎng)站信息向上滾動標(biāo)簽手機(jī)網(wǎng)站自助建站系統(tǒng)
  • ??诰W(wǎng)站制作企業(yè)成都seo的方法
  • .org做商業(yè)網(wǎng)站sem代運營費用
  • 網(wǎng)頁版微信怎么掃描二維碼seo網(wǎng)站推廣優(yōu)化論文
  • 做兼職的網(wǎng)站晉城seo