当前位置: 首页 > news >正文

seo网站代码优化枸橼酸西地那非片的功效与作用

seo网站代码优化,枸橼酸西地那非片的功效与作用,国内专业网站设计,昆明网站建设怎么样题目 见上一篇&#xff1a; 较难算法美丽塔时间复杂度O(n)-CSDN博客 时间复杂度 O(n) 分析 接着上篇。从左向右依次处理Left&#xff0c;处理Left[i]时&#xff0c;从右向左寻找第一个符合maxHeights[j]<maxHeights[i]的j。如果j1<j2&#xff0c;且maxHeights[j1]&g…

题目

见上一篇: 较难算法美丽塔时间复杂度O(n)-CSDN博客

时间复杂度

O(n)

分析

接着上篇。从左向右依次处理Left,处理Left[i]时,从右向左寻找第一个符合maxHeights[j]<maxHeights[i]的j。如果j1<j2,且maxHeights[j1]>=maxHeights[j2],那j1永远不会被选到。比如:{1,3,2,4,5},由于2在3右边,且小于3,则无论如何不会选中3。{1,2,2.....},后面无论有什么数,都不会选中第一个2,要么是其他数,要么是第二个2。
可以用栈实现,入栈maxHeights[i]之前,先出栈大于等于maxHeights[i]的数,剩余的都小于maxHeights[i]的数。也就是栈按升序排序的。由于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]);
        }

        //调试用代码
        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);
}

测试环境

Win10,VS2022 C++17

下载

源码: 【免费】美丽塔单调栈O(n)解法资源-CSDN文库

doc 讲解排版好:【免费】闻缺陷则喜算法册(9月24增加美丽塔)资源-CSDN文库

http://www.dt0577.cn/news/22050.html

相关文章:

  • 京东网站的设计特点百度快照是干什么的
  • 跨境电商有哪几个平台seo门户网
  • 汕头多语种网站制作快速排名推荐
  • 美橙建站怎么样网店运营怎么学
  • 自己做的视频可以同时上传到几家网站建站是什么意思
  • 佛山网站制作哪家好营销型企业网站的功能
  • 黄骅打牌吧百度seo2022新算法更新
  • 怎么搭建个人网站电脑做服务器浏览器里面信息是真是假
  • 贵阳网站开发多少钱提升网页优化排名
  • 怎么用dreamweaver做网站360搜图片识图
  • 廊坊营销网站服务财经新闻每日财经报道
  • 怎么做自己网站的API网络宣传推广方案范文
  • 网站制作实例教程开封seo推广
  • 建设网站网站企业网站推广排名
  • 虚拟机 网站建设客户关系管理系统
  • 网站建设海外推广 香港百度近日收录查询
  • 微信页面设计网站北京网站sem、seo
  • 网站模板登录模块营销推广公司
  • 专业做二手房装修网站软文营销的步骤
  • 苏州市住房和城乡建设局网站首页热搜词排行榜
  • 单位网站建设要多少钱新闻类软文营销案例
  • 如何给网站做右侧导航seo搜索引擎优化排名报价
  • 西安公司企业网站建设电子商务平台建设
  • 企业融资是做什么的合肥网站优化seo
  • 网站域名备案app线上推广是什么工作
  • 爱互融网站开发合同品牌策划方案范文
  • 建设类建设机械证官方网站营销推广策划及渠道
  • abc公司电子商务网站建设策划书学电脑办公软件培训班
  • 安防网站下载b2b是什么意思
  • 公司是否可以做多个网站淘宝客推广平台