字符串中的成对括号问题处理技巧

1. 前言

遇到成对括号问题,我相信大家第一个想到的就是栈,因为我们自从翻开严蔚敏的《数据结构》开始,就习惯于将“栈”和“成对括号”联系起来。

其实还是挺麻烦的,遍历一遍,遇到(入栈,)出栈,最后判断栈是否为空,中间还夹杂着一些其他技巧(栈底是)就直接结束之类的)。诚然,这是一个好方法,但是做题的时候讲究快速编写,研究的时候才讲究快速运行,而且通常题目不仅仅考括号匹配,括号只是题目的一部分,这时候,我们写起来就比较复杂。看我这新思路!

739-每日温度

力扣735

https://leetcode-cn.com/problems/daily-temperatures/submissions/

自从上次做了最大矩形单调栈题目之后,最近笔试见了两题单调栈的题目了,心理作用??赶紧补吧…

题目描述的不是很清楚(可以看英文版比较明白),总之,是说往后找到比当前大的(温度高的),然后记录下标距离。

515-在每个树行中找最大值

力扣515

https://leetcode-cn.com/problems/find-largest-value-in-each-tree-row/

也就是找每行的最大值

思路一:bfs层次遍历每行嘛,找最大值并加入res

Quill笔记

1.什么是富文本编辑器

百度百科:

image-20210717204337304

对1000000007取模和0x3f3f3f3f

1. 结果可能很大的题目会要求对1000000007取模(1八个零7),为什么?
最终我在柳神的博客下找到了答案

  • 1000000007是一个质数(素数),对质数取余能最大程度避免冲突

  • int32位的最大值为2147483647,1000000007同一个量级,足够大

  • int64位的最大值为2^63-1,对于1000000007来说它的平方不会在int64中溢出

  • 所以在大数相乘的时候,因为(a∗b)%c=((a%c)∗(b%c))%c,所以相乘时两边都对1000000007取模,再保存在int64里面不会溢出

八月随笔

八月,踏出一大步

[DONE]

  • 找实习
  • 租房
  • 秋招

我的FastIO工具类

前言:Java做算法题的弊端,力扣只需要完成一个函数,其他oj平台要求使用Scanner类在控制台输入输出,其中pat最后一个测试用例是大量数据,因此java在pat中经常超时,这时候可以采用带缓存的reader和buffer而不是System.in/out。


这个工具类,复制即可直接食用,都是静态方法,通过FastIO.xx就可以使用

方法名保持和Scanner/System.out一致

84-柱状图中的最大矩形

前言:实习的公司真是个学习的好地方,展南安排任务慢慢开始对接测试人员,学宇教我上班划划水!有问题就去烦萌萌!嘿嘿,今天看到萌萌在刷力扣,给我发来了这道题

力扣原题https://leetcode-cn.com/problems/largest-rectangle-in-histogram/

题目我就不贴了,关键是第一次接触到单调栈。

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×