【数据结构】单调栈

参考:算法学习笔记(67): 单调栈

单调栈用来查找比当前元素大的第一个元素(可以修改成比当前元素小的第一个元素)

要注意下方代码中栈中存的是下标不是值

stack<int> stk; // 存的是还没有确定下一个比自身大的元素的元素下标
for (int i = 1; i <= n; i ++ )
{
   
	while (!stk.empty() && a[stk.top()] < a[i]) // 如果找比当前元素小的第一个元素,只需将<换成>
	{
   
		ans[stk.top()] = i; // 存的是下一个比自身大的元素的元素下标
		stk.pop();
	}
	stk.push(i);
}

相关推荐

  1. 数据结构单调

    2024-02-15 08:30:02       42 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-15 08:30:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-15 08:30:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-15 08:30:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-15 08:30:02       20 阅读

热门阅读

  1. c++STL系列——(八)multiset

    2024-02-15 08:30:02       28 阅读
  2. Leetcode 392 判断子序列

    2024-02-15 08:30:02       21 阅读
  3. Windows安装DeepSpeed

    2024-02-15 08:30:02       37 阅读
  4. 什么是系统工程(字幕)27

    2024-02-15 08:30:02       24 阅读
  5. 2024.2.14作业

    2024-02-15 08:30:02       39 阅读
  6. 【docker 的常用命令——详细讲解】

    2024-02-15 08:30:02       28 阅读
  7. 甲辰年正月初五情人节

    2024-02-15 08:30:02       31 阅读
  8. AutoSAR(基础入门篇)9.1-协议数据单元PDU

    2024-02-15 08:30:02       35 阅读
  9. 如何学习机器学习和深度学习: 软件工程师指南

    2024-02-15 08:30:02       36 阅读
  10. 假期作业 2月14日

    2024-02-15 08:30:02       31 阅读
  11. 盐值1111

    2024-02-15 08:30:02       31 阅读