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

网站建设方案的策划书免费快速网站

网站建设方案的策划书,免费快速网站,cdn wordpress 登录,怎么做网站解析LeetCode Hot 100 是最常被考察的题目集合,涵盖了面试中常见的算法和数据结构问题。刷 Hot100可以让你在有限的时间内集中精力解决最常考的问题。鼓励大家不仅要写出代码,最好理解问题的本质、优化解法和复杂度分析。遇到问题要多交流多求问多分享&#…
  • LeetCode Hot 100 是最常被考察的题目集合,涵盖了面试中常见的算法和数据结构问题。
  • 刷 Hot100可以让你在有限的时间内集中精力解决最常考的问题。
  • 鼓励大家不仅要写出代码,最好理解问题的本质、优化解法和复杂度分析。
  • 遇到问题要多交流多求问多分享,“多折腾”能加深印象。欢迎留言交流~

Hot100 刷题计划 Day04

  • Day4 栈专题

Day4 栈专题

4天为一个周期学习,3天刷题,1天回顾。今天就是第4天了,我们复习之前,带着刷下较简单的数据结构——栈。

20. 有效的括号

给定一个只包括 ‘(’,‘)’,‘{’,‘}’,‘[’,‘]’ 的字符串 s ,判断字符串是否有效。

有效字符串需满足:

  1. 左括号必须用相同类型的右括号闭合。
  2. 左括号必须以正确的顺序闭合。
  3. 每个右括号都有一个对应的相同类型的左括号。

思路:

栈是先入后出,匹配括号也是找最后相对应的。只有3种括号,在看到左括号压栈的时候,直接使用待匹配的右括号。只需要找到后续与栈顶元素相同的右括号出栈。最后栈为空则有效。

class Solution:def isValid(self, s: str) -> bool:stack = []for i in s:if i == '(':stack.append(')')              # 将待匹配的括号分别压入栈elif i == '[':stack.append(']')elif i == '{':stack.append('}')elif not stack or i != stack[-1]:  # 如果还有括号未匹配,栈为空或者不匹配return Falseelse:stack.pop()                    # 匹配成功,栈顶元素出栈return True if not stack else False    # 栈为空,则有效;反之无效

155. 最小栈

设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。

实现 MinStack 类:

  • MinStack() 初始化堆栈对象。
  • void push(int val) 将元素val推入堆栈。
  • void pop()删除堆栈顶部的元素。
  • int top() 获取堆栈顶部的元素。
  • int getMin() 获取堆栈中的最小元素。

pop、top 和 getMin 操作总是在 非空栈 上调用。

思路: 要快速找栈中的最小值。栈先进后出,可以在每个元素位置维护之前元素最小值,栈顶标记则为栈最小值。

class MinStack:def __init__(self):self.stack = [(0, inf)]  # 除了栈元素,还维护一个最小值def push(self, val: int) -> None:self.stack.append((val, min(self.stack[-1][1], val)))def pop(self) -> None:self.stack.pop()def top(self) -> int:return self.stack[-1][0]def getMin(self) -> int:return self.stack[-1][1]# Your MinStack object will be instantiated and called as such:
# obj = MinStack()
# obj.push(val)
# obj.pop()
# param_3 = obj.top()
# param_4 = obj.getMin()

394. 字符串解码

给定一个经过编码的字符串,返回它解码后的字符串。

编码规则为: k[encoded_string],表示其中方括号内部的 encoded_string 正好重复 k 次。注意 k 保证为正整数。

你可以认为输入字符串总是有效的;输入字符串中没有额外的空格,且输入的方括号总是符合格式要求的。

此外,你可以认为原始数据不包含数字,所有的数字只表示重复的次数 k ,例如不会出现像 3a 或 2[4] 的输入。

思路: 栈匹配的问题,核心是遇到“ [ ”入栈,遇到“ ] ”出栈。记录下的res需要匹配数字,所以入栈需要记录下数字。还需要之前的字符串才能得到结果(相当于递归的更深一层返回值)。

class Solution:def decodeString(self, s: str) -> str:res = ""                    # 当前解码结果multi = 0                   # 当前数字stack = []                  # 栈,用于存储 [数字, 之前的解码结果]for char in s:if char.isdigit():                      # 如果是数字字符multi = multi * 10 + int(char)      # 计算数字elif char == '[':                       # 遇到 '[',将当前数字和解码结果入栈stack.append([multi, res])multi, res = 0, ""                  # 重置数字和解码结果elif char == ']':                       # 遇到 ']',出栈并更新解码结果cur_multi, last_res = stack.pop()res = last_res + cur_multi * res    # 拼接字符串更新解码结果(从最后一个右括号开始,res开始找栈)else:                                   # 普通字符,直接拼接到解码结果res += charreturn res

739. 每日温度

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

思路: 使用一个栈记录目前待匹配元素,遍历数组,如果遇到大于栈顶元素的值就持续对比,更新ans.

class Solution:def dailyTemperatures(self, temperatures: List[int]) -> List[int]:stack = [0]                     # 使用单调栈记录未匹配找到更大值的元素ans = [0] * len(temperatures)   # 所有位置初始化为0for i in range(1, len(temperatures)):# 如果当前元素比栈顶元素要大,匹配到就更新ans,并弹出栈中已匹配元素,继续对比while stack and temperatures[i] > temperatures[stack[-1]]:ans[stack[-1]]  = i - stack[-1]stack.pop()# 所有元素都要入栈,往后匹配更大值stack.append(i)return ans
http://www.hkea.cn/news/753515/

相关文章:

  • 广州优化网站建设怎么用手机制作网站
  • 做微网站的第三方学网络营销
  • 湖南做网站的公司有哪些搜索引擎是什么
  • flash网站管理系统seo优化排名易下拉用法
  • 永年网站建设友链互换平台推荐
  • 企业网站的设计公司网络广告营销的典型案例
  • 高校思政主题网站建设的意义关键词歌词任然
  • 哪里做网站比较快2345网址导航下载桌面
  • 广州建设委员会官方网站凡科建站下载
  • 全球做网站的公司排名百度一下你就知道官网
  • 小企业网站价格免费发链接的网站
  • 买了空间和域名 怎么做网站哪家公司网站做得好
  • 网站备案是否关闭衡阳网站建设公司
  • 遂昌建设局网站个人怎么做网站
  • 软件开发和网站建设网络营销的未来6个发展趋势
  • 做网站一年多少钱免费seo网站推广
  • 智通人才网东莞最新招聘信息官网seo是如何做优化的
  • 个人做跨境电商网站百度地图导航手机版免费下载
  • 阿里云注册网站之后怎么做网站百度联盟是什么
  • 动画制作视频河南网站排名优化
  • 网站关键词怎么做排名掌门一对一辅导官网
  • 现在什么网站做推广比较好网页设计需要学什么
  • 个人购物网站 怎么建网络营销包括
  • 有没有做鸭的网站工作室招聘广州网站优化工具
  • 深圳营销外深圳网络营销公司seo和sem的联系
  • 专业的网站制作公司哪家好竞价专员是做什么的
  • 海南省建设厅网站百度seo霸屏软件
  • 淄博张店做网站的公司爱站小工具圣经
  • wordpress w3seo优化自学
  • 临沂手机建站模板微信seo排名优化软件