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

国外js特效网站宣传网站怎么做

国外js特效网站,宣传网站怎么做,县区网站集约化平台建设研究,dw做网站背景图片设置铺平栈 队列 单调栈 文章目录栈、队列、单调栈 题目2390 从字符串中移除星号3174 清除数字735 小行星碰撞(!)394 字符串解码933 最近的请求次数(!)649 Dota2 参议院(!)20 有效…

栈 队列 单调栈

文章目录

  • 栈、队列、单调栈 题目
    • 2390 从字符串中移除星号
    • 3174 清除数字
    • 735 小行星碰撞(!)
    • 394 字符串解码
    • 933 最近的请求次数(!)
    • 649 Dota2 参议院(!)
    • 20 有效的括号
    • 155 最小栈
    • 739 每日温度
    • 84 柱状图中最大的矩形
  • 知识点
    • 单调栈使用场景&使用方法
    • JavaScript 中栈/队列常用的数组方法

栈、队列、单调栈 题目

hot 100 hot 75

2390 从字符串中移除星号

我的思路是,用一个辅助栈(在JS是数组),遇到字母push,遇到* 将arr.length--。因为是这么想的,所以要特判数组为空的情况。实际上可以用arr.pop()替代

如果数组为空(即没有元素),那么它无法移除任何元素,因此返回 undefined

3174 清除数字

有上一题的基础,就很简单。

pop() 方法的作用是从数组中移除最后一个元素,并返回该元素的值。如果数组为空(即没有元素),那么它无法移除任何元素,因此返回 undefined

735 小行星碰撞(!)

这道题 题目理解有点问题,不是环形,前面的向左的行星不会和后面向右的撞,所以只需考虑向左的行星是否回合前面向右的行星撞即可。如果小行星向左,栈顶向右 不会被撞到

是需要flag搭配while的,但是while里面,循环不变量是什么?是当前的行星可以撞多少个栈顶的行星

394 字符串解码

思路,利用栈,遇到左括号push,遇到字符push,遇到数字(这里需要注意要获取完整数字因为数字可能不仅仅是个位数)获取完整数字再push。【直到遇到右括号】。记得返回是stack.join(“”)

933 最近的请求次数(!)

由于每次收到的请求的时间都比之前的大,因此从队首到队尾的时间值是单调递增的。当在时间 t 收到请求时,为了求出 [t−3000,t] 内发生的请求数

649 Dota2 参议院(!)

思路:两个队列,存储的是下标。队头哪个比较小,哪个在数组比较前的地方先执行。注意很巧的点是两个队列都会同时shift,当对于有权利禁言别人的人,要先往他的队列push它的下标(+n)

20 有效的括号

辅助栈,解决括号匹配问题。
辅助栈的入栈:左括号入栈。如果是右括号,与栈顶对比,如果不匹配,返回false,如果匹配,弹出栈顶。遍历完所有括号之后,如果栈不为空,就返回false。
有三种情况是失败的(辅助栈存左括号的前提下),(1)栈顶左括号与目前右括号不匹配;(2)字符串遍历结束,辅助栈还不为空,说明左括号空了;(3)栈空了,但还没遍历完,目前的右括号没有匹配的左括号,说明右括号多了。

155 最小栈

一个数据栈stack,一个最小栈minstack。minstack 记录此时【stack相同位置】到栈底的最小值。
(1)对于pop操作,两个栈一起pop。(2)对于top,只返回数据栈的栈顶。(3)对于getMin,返回此刻minstack的栈顶。(4)constructor注册两个栈。(5)push操作稍微复杂。首先stack为空时,两个栈都直接push。但是stack不为空的时候,最小栈的push需要对比当前的数据与栈顶哪个小,谁小push谁。

739 每日温度

只能想到暴力法。所有的方法都是为了简化暴力法出现的,那么什么方法可以替代这个暴力法?灵机一动:单调栈!
对于每一个元素,我要找到他右边【第一个】比他大的元素,可能右边还有比它大的但是不关心了。

怎么设置单调栈元素排列的顺序?
什么时机可以得到某一个元素的结果(遍历从左往右 还是从右往左)?

所以是从右往左遍历?示例如果是[90,60,30]答案是[0,0,0],示例如果是[30,60,90]答案是[1,1,0]。所以我从示例里推出来,单调栈从栈顶到栈底需要单调递减。但是这样不对的,因为我拿不到栈顶元素右边那一个。

想不出来!!!
下一个:从左往右遍历
更大的:栈口到栈底,单调递增

84 柱状图中最大的矩形

找某一个柱子 左边和右边 第一个比它矮的
从左往右遍历,左边第一个比它矮的在它的栈底;右边第一个比它矮的在遍历过程中发现。
所以是从左往右+栈口到栈底 递减

知识点

单调栈使用场景&使用方法

单调栈的使用场景:某一个元素左边或者右边,【第一个】比当前元素大或者小的元素。
从栈口到栈底,如果是递增,求的就是某个元素左边/右边比它【大】的第一个元素。
从栈口到栈底,如果是递减,求的就是某个元素左边/右边比它【小】的第一个元素。
单调栈的核心:用栈来帮你维护「还没找到答案」的元素
找下一个= 从左往右
找上一个= 从右往左

JavaScript 中栈/队列常用的数组方法

JS中的“栈”“队列”都是通过数组实现的

// 栈
const stack = [];
// 入栈
stack.push(1);
// 出栈 - 后进先出
stack.pop();
// 栈顶
let top = stack[stack.length-1];// 队列
const queue = [];
// 入队列
queue.push(1);
// 出队列
queue.shift();
// 队头
let top = queue[0];
  • pop() 方法的作用是从数组中移除最后一个元素,并返回该元素的值。如果数组为空(即没有元素),那么它无法移除任何元素,因此返回 undefined
http://www.dtcms.com/wzjs/104258.html

相关文章:

  • 平度建设局网站全自动推广软件
  • 小说网站建设教程北京做网络优化的公司
  • 安仁做网站seo教程技术资源
  • 电子商务网站建设项目的阶段的划分长沙网站优化seo
  • 玉树州公司网站建设广东最新消息
  • 公司网站维护主要做什么百度广告标识
  • 中小网站公司做的推广怎么样市场调研方案
  • 做网站好听的域名镇江网站建设
  • 设计上海网站建设网络seo外包
  • 手机网站产品展示模板如何推广新产品的方法
  • 苏州企业网站优化长春百度关键词优化
  • 公司网站制作与推广自己想开个网站怎么弄
  • 两学一做网站无法做题谷歌seo视频教程
  • 深圳做网站开发免费个人网站怎么建立
  • 电子商务实网站的建设课件潍坊网站seo
  • 东莞网站推广外贸平台推广
  • 免费网站登录口看完你会感谢我互联网营销师证书含金量
  • 政府门户网站信息建设实验报告seo课程培训课程
  • 房山成都网站建设论坛发帖
  • 专门做恐怖电影的网站网页制作模板的网站
  • 运用django做网站seoul怎么读
  • 做自己的网站好还是博客好seo短视频入口引流
  • 做seo是要先有网站吗推广app网站
  • 域名注册后怎么建立自己的网站精准大数据获客系统
  • 江阴网站开发公司线上营销策略有哪些
  • 论文引用网站怎样做脚注西安网站快速排名提升
  • 广州市线下教学无锡seo
  • 怎么制作网站应用好推建站
  • 基于dw的动物网站设计论文如何开发网站
  • 网络运营商包括seo百度网站排名研究中心关键词首页优化