首页 > 其他分享 >32. 最长有效括号

32. 最长有效括号

时间:2024-09-13 23:47:47浏览次数:9  
标签:题解 32 括号 text answer 最长 dp

题目链接 32. 最长有效括号
思路 动态规划
题解链接 官方题解
关键点 1. 只有\(s_{i}=\text{(}\)时才需要转移 2. 当遇到'...))'格式的情形时,需要考虑前面片段中转移的索引下标
时间复杂度 \(O(n)\)
空间复杂度 \(O(n)\)

状态转移方程为(只有\(s_{i}=\text{(}\)时才需要转移):

\[dp_{i} = \begin{cases} 2 + dp_{i-2}, &\quad s_{i-1}=\text{(} \\ 2 + dp_{i-1} + dp[i-1-dp[i-1]-1], &\quad s_{i-1} = \text{) and } s_{i-1-dp_{i-1}} = \text{(} \end{cases} \]

代码实现:

class Solution:
    def longestValidParentheses(self, s: str) -> int:
        answer = 0

        n = len(s)
        dp = [0] * n
        for i in range(1, n):
            if s[i] == ')':
                if s[i-1] == '(':
                    dp[i] = 2 + (0 if i<2 else dp[i-2])
                elif i - dp[i-1] > 0 and s[i-1 - dp[i-1]] == '(':
                    dp[i] = 2 + dp[i-1] + (0 if i-dp[i-1] < 2 else dp[i-1-dp[i-1]-1])
                answer = max(answer, dp[i])

        return answer

标签:题解,32,括号,text,answer,最长,dp
From: https://www.cnblogs.com/WrRan/p/18413109

相关文章

  • STM32No target connected解决办法
    stm32使用stlink下载程序报错目标未连接解决办法之一一.产生原因二.解决办法一.产生原因使用stlink下载程序时遇到Notargetconnected报错,产生这个有很多原因,我这里的原因是由于这是我自己画的板子有问题。请看pcb我的下载电路直接接到了铺铜上,当仅使用stlink供......
  • 22320302 张睿漪
    根据今天的课堂,了解到了很多未曾了解过但又非常实用的小知识,或者也可以说是小知识点,在博客上进行记录也是希望自己能够记住~1.在关键词的前面使用减号,能在查询结果中不出现该关键词,格式为“关键词A+空格+减号+关键词B”2.使用filetype指令可以查询特定格式的文件,比如doc/txt/ppt/......
  • 【IPV6从入门到起飞】5-2 IPV6+Home Assistant(ESP32+MQTT+DHT11+BH1750)传感器采集上
    IPV6+HomeAssistant[ESP32+MQTT+DHT11+BH1750]传感器采集上传监测1背景2实现效果3HomeAssistant配置3-1MQTT配置3-2yaml配置3-3加载配置4ESP32搭建4-1开发环境4-2工程代码5实现效果1背景在上一小节【IPV6从入门到起飞】5-1IPV6+HomeAssistant(搭建......
  • 物联网毕设 -- 图传种植监测控制(STM32+ESP32+APP)
    目录一连线图1原理图2PCB效果(面包版不适用)3实物效果4APP效果5功能概括(1)硬件端(2)APP端(4)云平台使用(需要可以找我获取)(5)演示视频二底层代码使用方式1.使用说明2.下载程序三APP使用方式1下载APP四程序架构及修改(通用) 前言该智能环境监测与控制系统......
  • 最短路 || 最长路 || 次短路
    大致目录最短路单源最短路径1.Bellman-Ford算法2.SPFA算法3.Dijkstra算法多源最短路径Floyd算法总结最长路SPFA拓扑排序非严格次短路严格次短路因为之前一直好久之前用的博客园,现在上大学了慢慢开始用CSDN,把之前写的一些年轻的文章先拿过来用用,嘻嘻。如题,这......
  • stm32 SPI通信外设(硬件SPI读写W25Q64)
    理论1.SPI外设简介STM32内部集成了硬件SPI收发电路,可以由硬件自动执行时钟生成、数据收发等功能,减轻CPU的负担可配置8位/16位数据帧、高位先行/低位先行时钟频率:fPCLK/(2,4,8,16,32,64,128,256)支持多主机模型、主或从操作可精简为半双工/单工通信支持DMA兼......
  • 《ESP32从0到1》之MQTT与阿里iot通信(中)
    文章目录文章内容硬件增加定时器,实现定时发布MQTT主题移植smart_config程序最终程序逻辑运行测试保存ssid和password上电自动配网最终运行测试补充说明欢迎关注并留言文章内容基于MQTT->tcp结合wifi->smart_config示例工程,读懂程序,最终实现MQTT与阿里iot平台通信。......
  • STM32定时器
    定时器简介定时器,核心就是计数器。STM32的定时器不仅具有基本定时器中断功能,还具备捕获脉冲宽度,PWM输出,互补输出以及编码器计数等功能。F103中共有8个定时器,TIM1-TIM8,不同定时器功能不一样,可分为三类定时器类型主要功能基本定时器TIM6和TIM7,没有输入输出通道,常用作......
  • 金典120GB固态硬盘SM2258XT量产修复成功记录,附SM2258XT B16A开卡软件,VM29F01TEME1(2CA
    偶得一块二手的120G金典SSD,闲来无事搞一下量产,先上外观图片给大家看看:玩量产的一般都知道,找量产工具,肯定是要根据主控型号和闪存颗粒制程,来找相匹配的软件才行。因此我们拆开外壳,下图看到里面主控SM2258XT,颗粒丝印VM29F01TEME1-B16A,这块固态比较方便的地方是,单从丝印上就能看出是B1......
  • RS232 串口服务器:传统通信的现代升级
    在现代通信技术的快速发展中,RS232串口服务器成为了连接传统设备与现代网络的关键桥梁。尽管RS232是一种较为古老的串行通信标准,但它在某些特定领域仍然发挥着不可替代的作用。本文将探讨RS232串口服务器如何实现传统通信的现代升级。RS232串口服务器是一种将RS232串行端口转换为网......