Leetcode—32. 最长有效括号【困难】(动态规划及ranges::max()使用)

2024每日刷题(110)

Leetcode—32. 最长有效括号

在这里插入图片描述

栈实现代码

class Solution {
public:int longestValidParentheses(string s) {stack<int> st;st.push(-1);int n = s.size();int maxn = 0;for(int i = 0; i < n; i++) {if(s[i] == '(') {st.push(i);} else {st.pop();if(st.empty()) {st.push(i);} else {maxn = max(maxn, i - st.top());}}}return maxn;}
};

运行结果

在这里插入图片描述

动态规划算法思想

在这里插入图片描述

实现代码

class Solution {
public:int longestValidParentheses(string s) {string s2 = ")" + s;int n = s2.size();vector<int> dp(n);for(int i = 1; i < n; i++) {if(s2[i] == ')' && s2[i - dp[i - 1] - 1] == '(') {dp[i] = dp[i - 1] + dp[i - dp[i - 1] - 2] + 2;}}return ranges::max(dp);}
};

运行结果

在这里插入图片描述

之后我会持续更新,如果喜欢我的文章,请记得一键三连哦,点赞关注收藏,你的每一个赞每一份关注每一次收藏都将是我前进路上的无限动力 !!!↖(▔▽▔)↗感谢支持!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/451136.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【20240131】USB相机(查看设备列表、打开设备)

USB相机采集 1、v4l2查看设备列表2、查看具体设备信息3、在桌面打开USB相机 1、v4l2查看设备列表 打开终端&#xff0c;输入&#xff1a;v4l2-ctl --list-devices usb设备在Webcam: Webcam栏&#xff0c;分别是video9和video10&#xff0c;下一步&#xff1a;确定哪一个是接入…

Android 摄像头切换录像失败

1.问题描述 &#xff08;1&#xff09;打开Android Camera &#xff08;2&#xff09;点击录像 &#xff08;3&#xff09;APP提示can’t connect the camera &#xff0c;无法录像 2.问题分析 对有问题的设备抓取log进行分析查看 从log看,发生错误的原因是摄像头不支持19…

2024.2.3

单向循环链表的头插 头删 尾插和尾删 //头结点插入 Linklist insere_element(Linklist head,datatype element) {Linklist screat();s->dataelement;if(NULLhead){heads;}else{Linklist phead;while(p->next!head){pp->next;}s->nexthead;heads;p->nexthead;}r…

STM32F407 CAN参数配置 250Kbps

本篇CAN参数适用 芯片型号&#xff1a;STM32F407xx系统时钟&#xff1a;168MHz&#xff0c;CAN挂载总线APB1为42M波 特 率 &#xff1a;250Kpbs引脚使用&#xff1a;TX_PB9&#xff0c;RX_PB8&#xff1b;修改为PA11PA12后&#xff0c;参数不变。 步骤一、打勾开启CAN&#xf…

MongoDB复制集实战及原理分析

文章目录 MongoDB复制集复制集架构三节点复制集模式PSS模式&#xff08;官方推荐模式&#xff09;PSA模式 典型三节点复制集环境搭建复制集注意事项环境准备配置复制集复制集状态查询使用mtools创建复制集安全认证复制集连接方式 复制集成员角色属性一&#xff1a;Priority 0属…

Ps:标尺

Ps菜单&#xff1a;视图/标尺 View/Rulers 标尺 Rulers可帮助精确定位图像或元素。 标尺附属于文档窗口&#xff0c;按快捷键 Ctrl R 可快速显示或隐藏标尺。 显示标尺后&#xff0c;当移动鼠标指针时&#xff0c;标尺内的标记会显示指针的位置。 ◆ ◆ ◆ 使用方法与技巧 1…

【Matplotlib】figure方法之图形的保存

&#x1f388;个人主页&#xff1a;甜美的江 &#x1f389;欢迎 &#x1f44d;点赞✍评论⭐收藏 &#x1f917;收录专栏&#xff1a;matplotlib &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff0c;让我们共同学习、交流进…

js获取文件名或文件后缀名(扩展名)的几种方法

有时候我们需要通过含有文件名和后缀名的一个字符串中提取出该文件的文件名或文件后缀名&#xff08;扩展名&#xff09;&#xff0c;可以通过如下几种方式进行截取。 例如文件名为: var fileName"12345.txt"; 方式一&#xff1a;subtring() 用法参考博文 【js截取字…

Acwing---826.单链表

单链表 1.题目2.基本思想3.代码实现 1.题目 实现一个单链表&#xff0c;链表初始为空&#xff0c;支持三种操作&#xff1a; 向链表头插入一个数&#xff1b;删除第 k k k 个插入的数后面的数&#xff1b;在第 k k k 个插入的数后插入一个数。现在要对该链表进行 M M M 次…

【GPU驱动开发】-LLVM和Clang环境部署

前言 不必害怕未知&#xff0c;无需恐惧犯错&#xff0c;做一个Creator&#xff01; 一、下载LLVM源码 官网下载源码 https://github.com/llvm/llvm-project/releases/ 包含所有llvm版本的下载内容 win源码传到ubuntu 首先将虚拟机关机&#xff0c;在虚拟机设置中&#xff…

开发知识点-拍黄片的好基友的依赖管理工具-composer

composer 介绍主要特性使用Composer的优势 基本使用文档 介绍 Composer 是 PHP 的一个依赖管理工具&#xff0c;它允许项目创建者和开发者声明项目所依赖的库&#xff0c;并自动安装这些依赖项。 它在PHP社区中被广泛使用&#xff0c;几乎成为了现代PHP开发的标准配置。 主要…

iOS应用提交上架的最新流程

摘要 本篇博客介绍了iOS应用程序上架的最新流程。包括上架基本需求资料、证书的创建和使用、测试设备的添加、描述文件的创建、打包、审核等步骤。 引言 在开发完iOS应用程序后&#xff0c;我们需要将其提交到App Store上架。然而&#xff0c;随着技术的不断发展&#xff0c;…