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

CodeTop100 Day18

52、最长的有效括号

括号问题需要考虑栈,而最长有效的括号就要考虑动态规划了

这里定义dp[i]为以i-1位置结尾的最长合法括号字串

遍历字符串,当遇到左括号,压入栈,dp[i+1]=0,遇到右括号,如果栈不为空,配对左括号索引,

长度为len=i+1-leftIndex+dp[出栈左括号位置],dp[i+1]=len,如果栈为空dp[i+1]=0;

返回dp数组的最大值

53、训练计划II

该题跟删除链表中倒数第n个节点一个套路,定义两个指针,第一个指针先走cnt步,后面指针开始移动,慢指针最后的位置就是n-cnt就是倒数第cnt的位

54、最小覆盖字串

滑动窗口题,定义两个map储存字符,left=0,right=0,标记位valild=0,外层循环是right<s.length(),右指针移动,如果当前字符符合t数组中的字符串,则窗口map将该值加进去,如果窗口中的对该字符等于元字符所需要的个数,valid就++,例如,t中A需要1个,right找到满足包含t字符串的子字符就停止移动,然后收缩left,将左指针指向的字符串移走,然后更新长度,每次记录下最短的长度和开始位置,返回最小字串即可

http://www.xdnf.cn/news/748765.html

相关文章:

  • 【Python进阶】元编程、并发
  • @PathVariable注解-补充
  • (附代码)自定义 LangChain 文档分割器,深入探索 LangChain 文档分割策略与应用
  • 硬件开发全解:从入门教程到实战案例与丰富项目资源
  • 深入理解设计模式之解释器模式
  • Vue-过滤器
  • C++语法系列之模板进阶
  • 青柠日记:记录美好,守护隐私
  • RL 基础 (待补充)
  • 【Python Cookbook】文件与 IO(一)
  • Redis--缓存工具封装
  • 【PhysUnits】15.6 引入P1后的左移运算(shl.rs)
  • 佳能 Canon G3030 Series 打印机信息
  • 【C语言练习】075. 使用C语言访问硬件资源
  • [LitCTF 2024]浏览器也能套娃?
  • [学习] RTKlib 实用工具介绍
  • JDK17 与JDK8 共同存在一个电脑上
  • 静态综合实验
  • 软件性能之CPU
  • 机器学习算法——KNN
  • vue3的watch用法
  • 树莓派PWM控制LED灯
  • 使用arthas热替换在线运行的java class文件
  • 描述性统计的可视化分析
  • Java弱引用与软引用的核心区别
  • ubuntu20.04.5-arm64版安装robotjs
  • 牛客周赛94
  • 使用Java实现简单的计算机案例
  • uv:一个现代化的 Python 依赖管理工具
  • AMBER软件介绍