zoukankan      html  css  js  c++  java
  • [leetcode]Longest Valid Parentheses

    题目:

          Given a string containing just the characters '(' and ')', find the length of the longest valid (well-formed) parentheses substring.For "(()", the longest valid parentheses substring is "()", which has length = 2.Another example is ")()())", where the longest valid parentheses substring is "()()", which has

    length = 4.

           大意是寻找字符串里面 "()"匹配最长的长度。最直接的思路是遍历字符串,如果是 '(',则判断下一个字符是否是 ')',如果是,则继续向下判断,同时记录当前最长的字符长度。思路比较直接。时间复杂度:O(n)。

    int longestValidParentheses(string const& s)//Longest Valid Parentheses
      {
          int i=0;
          int length=s.length();//字符串长度
          int long_length=0,max=0;
          while(i<length)//遍历字符串
          {
             if(s[i]=='(')//找到前(,判断后面一个是否为)
             {
                  if(s[i+1]==')')//满足
                  {
                     i=i+2;
                     long_length=long_length+2;
                     if(max<long_length)
                         max=long_length;//记录字符串长度
                  }
                  else//不是),继续查找
                  {
                      i=i+1;
                      long_length=0;
                  }
             }
             else //是),但是不配,过滤
                {
                  i=i+1;
                 long_length=0;
                 }
          }
          return max;
    
      }
  • 相关阅读:
    QPushbutton样式
    qt调动DLL
    QLabel设置行间距
    Qt 5.2.1 applications (32 bit) in CentOS (64 bit with gcc 4.8.2)
    qt设置阴影效果
    ubuntu命令
    How to configure NFS on Linux
    gsoap生成onvif c++源码
    QUrl乱码问题
    QTableWidget自适应标题(铺满、可调节)
  • 原文地址:https://www.cnblogs.com/zhanjxcom/p/5665932.html
Copyright © 2011-2022 走看看