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

贵阳微网站建设如何建立网站 个人

贵阳微网站建设,如何建立网站 个人,u盘装WordPress,社区网站开发总结leetcode75中的单调栈算法题解题思路。 上一篇:力扣75——区间集合 力扣75——单调栈 1 每日温度2 股票价格跨度1 - 2 解题总结 1 每日温度 题目: 给定一个整数数组 temperatures ,表示每天的温度,返回一个数组 answer &…

总结leetcode75中的单调栈算法题解题思路。
上一篇:力扣75——区间集合

力扣75——单调栈

  • 1 每日温度
  • 2 股票价格跨度
  • 1 - 2 解题总结

1 每日温度

题目:

给定一个整数数组 temperatures ,表示每天的温度,返回一个数组 answer ,其中
answer[i] 是指对于第 i 天,下一个更高温度出现在几天后。如果气温在这之后都
不会升高,请在该位置用 0 来代替。

题解:
单调栈。
进出栈策略:for循环遍历,对于当前的气温,先跟栈顶比较,如果大于栈顶,则计算栈顶与当前的天数间隔,并出栈,然后继续比较直到不大于,最后将当前气温的日期进栈

class Solution {
public:vector<int> dailyTemperatures(vector<int>& temperatures) {int n = temperatures.size();vector<int> ans(n);stack<int> s;for (int i = 0; i < n; ++i) {while (!s.empty() && temperatures[i] > temperatures[s.top()]) {int previousIndex = s.top();ans[previousIndex] = i - previousIndex;s.pop();}s.push(i);}return ans;}
};

2 股票价格跨度

题目:

设计一个算法收集某些股票的每日报价,并返回该股票当日价格的 跨度 。当日股票价格的 跨度 被定义为股票价格小于或等于今天价格的最大连续日数(从今天开始
往回数,包括今天)。例如,如果未来 7 天股票的价格是 [100,80,60,70,60,75,85],那么股票跨度将是
[1,1,1,2,1,4,6] 。实现 StockSpanner 类:StockSpanner() 初始化类对象。
int next(int price) 给出今天的股价 price ,返回该股票当日价格的跨度。

题解:
单调栈。
进出栈策略:先把一个非常大的数压入栈中,然后for循环遍历。对于当天的股价,先跟栈顶比较,如果大于等雨栈顶,则计算栈顶与当前的天数间隔,并出栈,然后继续比较直到小于最后将当前股价及其日期进栈

class StockSpanner {
public:StockSpanner() {this->stk.emplace(-1, INT_MAX);this->idx = -1;}int next(int price) {idx++;while (price >= stk.top().second) {stk.pop();}int ret = idx - stk.top().first;stk.emplace(idx, price);return ret;}private:stack<pair<int, int>> stk; int idx;
};

1 - 2 解题总结

问题特点1:每个数据都有时间戳、数据间有大小差异。
问题特点2:向后查找,对于某个时间节点的数据,查找其与之后的第几个数据满足某个比较条件;向前查找,对于某个时间节点的数据,查找其与之前的第几个数据满足某个比较条件。
向后查找:由于遍历时,还未知道后面的数据,所以当前数据只是用来计算前面的数据的结果,然后它再进栈。
向前查找:由于遍历时,已经知道当前的数据,所以当前数据是可以得到结果的,至于当前数据是否需要进栈,则需要根据题目具体要求进行判断。

http://www.hkea.cn/news/86524/

相关文章:

  • 飞机免费代理ip爱站网seo综合查询工具
  • 河南焦作有做网站开发的公司吗巩义网络推广公司
  • 邓州做网站网络广告有哪些形式
  • 爬闪数媒 网站建设网站建站流程
  • 网站建设广州白云百度统计app下载
  • 惠州短视频seoseowhy论坛
  • 肇庆网站快速排名优化温州seo排名公司
  • 北京疫情死亡人数最新消息王通seo赚钱培训
  • 北京做网站的外包公司营销策划方案案例范文
  • 专业做酒店网站关键词优化排名软件流量词
  • 做网站推广代理上海网络推广服务
  • wordpress可以做大吗搜索引擎优化的英语简称
  • 民治专业做网站公司中国企业500强排行榜
  • 潍坊 公司 网站seo点击排名器
  • 网站可以做赌博广告建站宝盒
  • 运城市做网站英文seo外链
  • 江宁网站建设如何建立网上销售平台
  • 淄博企业网站建设有限公司搜索引擎关键词竞价排名
  • 网站的优点企业专业搜索引擎优化
  • 哪里有软件开发培训机构无锡seo培训
  • 网站怎么做反链seo是什么品牌
  • 技术型网站做哪一种好软文范例大全100
  • 百度搜索什么关键词能搜到网站seo高效优化
  • 网站搭建分站需要多少钱互联网营销策划
  • 音乐网站的音乐怎么做seo先上排名后收费
  • 清河做网站报价seo实战培训王乃用
  • wordpress 回收站在哪个文件夹营销方式和手段
  • 垂直型电商网站如何做快速排名软件哪个好
  • 做产品推广有网站比较好的免费自助建站平台
  • 番禺网站建设公司排名百度推广页面投放