zoukankan      html  css  js  c++  java
  • 最长有效括号

     

     

     

     

     

     

     

     

     

    #define fmax(a,b) ((a)>(b)?(a):(b))
    int longestValidParentheses(char* s) {
        int maxans=0,n=strlen(s);
        if(n==0) 
        {
            return 0;
        }
        int dp[n];
        memset(dp,0,sizeof(dp));
        int i;
        for(i=1;i<n;i++)
        {
            if(s[i]==')')
            {
                if(s[i-1]=='(')
                {
                    if(i>=2)
                {
                    dp[i]=dp[i-2]+2;
                }
                else
                {
                    dp[i]=2;
                }
            }
            else if(i - dp[i - 1] > 0 && s[i - dp[i - 1] - 1] == '(')
            {
                if(i-dp[i-1]>=2)
                {
                    dp[i]=dp[i-1]+dp[i-dp[i-1]-2]+2;
                }
                else{
                    dp[i]=dp[i-1]+2;
                }
            }
            maxans=fmax(maxans,dp[i]);
        }
    }
        return maxans;
  • 相关阅读:
    定时器
    sortable.js 华丽丽的排序
    jqGrid一些操作
    session 共享
    数组排序 和 二分法查找
    关于map
    文件导入
    文件导出
    文件下载
    float 保留两位小数
  • 原文地址:https://www.cnblogs.com/sbb-first-blog/p/13235146.html
Copyright © 2011-2022 走看看