• 74th LeetCode Weekly Contest Valid Number of Matching Subsequences


    Given string S and a dictionary of words words, find the number of words[i] that is a subsequence of S.

    Example :
    Input: 
    S = "abcde"
    words = ["a", "bb", "acd", "ace"]
    Output: 3
    Explanation: There are three words in words that are a subsequence of S: "a", "acd", "ace".
    

    Note:

    • All words in words and S will only consists of lowercase letters.
    • The length of S will be in the range of [1, 50000].
    • The length of words will be in the range of [1, 5000].
    • The length of words[i] will be in the range of [1, 50].

    问S中有多少符合words里面的单词(可以不连续哦)

    当然是二分啊,我们保存S中字母的位置,对于每个words我们都查找字母的位置,然后+1一位继续找

     1 class Solution {
     2 public:
     3     int numMatchingSubseq(string S, vector<string>& words) {
     4         int num=0;
     5         vector<int>vec[50000];
     6         int len=S.size();
     7         for(int i=0;i<len;i++){
     8             vec[S[i]-'a'].push_back(i);
     9         }
    10         for(auto word:words){
    11             int add=0;
    12             int wordLen=word.size();
    13             int flag=1;
    14            // cout<<word<<endl;
    15             for(int i=0;i<wordLen;i++){
    16                 if(vec[word[i]-'a'].size()==0){
    17                     flag=0;
    18                     break;
    19                 }
    20                 auto it=lower_bound(vec[word[i]-'a'].begin(),vec[word[i]-'a'].end(),add);
    21                 if(it==vec[word[i]-'a'].end()){
    22                     flag=0;
    23                     break;
    24                 }
    25                 add=(*it);
    26                 add++;
    27               //  cout<<add<<endl;
    28             }
    29             if(flag){
    30                 num++;
    31             }
    32         }
    33         return num;
    34     }
    35 };
  • 相关阅读:
    kibana 设置登录认证
    elasticsearch
    elasticsearch安装ik
    elasticsearch 安装head
    Docker 数据卷之进阶篇
    link快捷方式
    动作方法中 参数,Json
    spring单元测试
    js之cookie操作
    idea快捷键
  • 原文地址:https://www.cnblogs.com/yinghualuowu/p/8516244.html
Copyright © 2020-2023  润新知