zoukankan      html  css  js  c++  java
  • Leetcode-5018 Camelcase Matching(驼峰式匹配)

     1 class Solution
     2 {
     3     public:
     4         vector<bool> camelMatch(vector<string>& queries, string pattern)
     5         {
     6             vector<bool> rnt(queries.size());
     7 
     8             for(int i = 0; i < queries.size(); i ++)
     9             {
    10                 int qin = 0,pin = 0;
    11                 bool rr = true;
    12                 
    13                 string ss1,ss2;
    14                 for(int j = 0;j < queries[i].size();j ++)
    15                     if(isupper(queries[i][j]))
    16                         ss1 += queries[i][j];
    17                 for(int j = 0;j < pattern.size();j ++)
    18                     if(isupper(pattern[j]))
    19                         ss2 += pattern[j];
    20                 if(ss1!=ss2)
    21                 {
    22                     rnt[i] = false;
    23                     continue;
    24                 }
    25                 while(qin < queries[i].size() && pin < pattern.size())
    26                 {
    27                     if(isupper(queries[i][qin]) && islower(pattern[pin]))
    28                     {
    29                         rr = false;
    30                         break;
    31                     }
    32                     else if(isupper(queries[i][qin]) && isupper(pattern[pin]))
    33                     {
    34                         if(queries[i][qin]==pattern[pin])
    35                         {
    36                             qin ++;
    37                             pin ++;
    38                         }
    39                         else
    40                         {
    41                             rr = false;
    42                             break;
    43                         }
    44                     }
    45                     else if(islower(queries[i][qin]) && isupper(pattern[pin]))
    46                         qin ++;
    47                     else
    48                     {
    49                         if(queries[i][qin]==pattern[pin])
    50                         {
    51                             qin ++;
    52                             pin ++;
    53                         }
    54                         else
    55                             qin ++;    
    56                     }
    57                 }
    58                 
    59                 int sz = pattern.size();
    60                 if(pin<sz)
    61                     rr = false;
    62                 rnt[i] = rr;
    63             }
    64             return rnt;
    65         }
    66 };

    想一套匹配规则去遍历匹配就可以了,写了几十分钟,不知道在写什么

  • 相关阅读:
    ubuntu16.04安装破解pycharm
    python解压,压缩,以及存数据库的相关操作
    cocoapods Error
    swift项目导入OC框架
    实现全屏滑动返回效果
    Storyboard & XIB 自己的理解
    View & Controller 一些方法的执行顺序
    Touch ID 实现
    Apple Pay 初探
    ReactiveCocoa学习
  • 原文地址:https://www.cnblogs.com/Asurudo/p/10665075.html
Copyright © 2011-2022 走看看