力扣记录题思路(动态规划篇)

 

5.最长回文子串:

     (1)找中心:如果中心点的左边和右边值都相等,此子串就是一个回文子串,然后往外扩大去判断

     (2)动态规划,k表示 i 和 j 的间隔长度,i 表示子串的首字符,j 表示子串的尾字符,先找到子串长度为0,1,2的所有回文子串,然后其他的更大的回文子串会判断:

dp[i + 1][j - 1] && s[i] == s[j] 

10.正则表达式匹配(没想好)

44.通配符

 

32.最长有效括号:

    (1) 使用栈,遇到(就入栈,遇到)就出栈,结果数加2

    (2)动态规划,dp[i]表示长度为i的子串的有效个数,首先找到“......)”这个位置,此位置dp[i]=dp[i-2]+2

               然后再找"......))",如果s[i-dp[i-1]-1]是"(",则 dp[i]=dp[i-1]+dp[i-dp[i-1]-2]+2。dp[i-1]+2是前一个有效子串的有效个数

             是这种情况“()(())”

53.  最大子序和:

    (1)动态规划:  数组arr[-2,1,-3,4,-1,2,1,-5,4]    连续子数组 [4,-1,2,1] 的和最大,为 6。

            sum存储连续和,ans是最后结果,首先sum=0,如果sum>0, sum += arr[i]  如果sum<0,sum=arr[i] ,

            ans=max(sum,ans);

62. 不同路径:

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值