国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

LeetCode 44題:通配符匹配

這篇具有很好參考價值的文章主要介紹了LeetCode 44題:通配符匹配。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

題目

給你一個輸入字符串 (s) 和一個字符模式 (p) ,請你實現(xiàn)一個支持?'?'?和?'*'?匹配規(guī)則的通配符匹配:

  • '?'?可以匹配任何單個字符。
  • '*'?可以匹配任意字符序列(包括空字符序列)。

判定匹配成功的充要條件是:字符模式必須能夠?完全匹配?輸入字符串(而不是部分匹配)。

?

示例 1:

輸入:s = "aa", p = "a"
輸出:false
解釋:"a" 無法匹配 "aa" 整個字符串。

示例 2:

輸入:s = "aa", p = "*"
輸出:true
解釋:'*' 可以匹配任意字符串。

示例 3:

輸入:s = "cb", p = "?a"
輸出:false
解釋:'?' 可以匹配 'c', 但第二個 'a' 無法匹配 'b'。

提示:

  • 0 <= s.length, p.length <= 2000
  • s?僅由小寫英文字母組成
  • p?僅由小寫英文字母、'?'?或?'*'?組成

代碼

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<stdbool.h>

bool isMatch(char * s, char * p);

int main()
{
    char*s="aaa",*p="a";
    printf("%d",isMatch(s,p));
    return 0;
}

bool isMatch(char * s, char * p)
{
    int slen=strlen(s),plen=strlen(p);
    int sindex=0,pindex=0,srecord=-1,precord=-1;
    while(slen&&plen&&p[plen-1]!='*')
    {
        if(p[plen-1]==s[slen-1]||p[plen-1]=='?')
        {
            plen--;
            slen--;
        }
        else 
        {
            return false;
        }
    }
    if(plen==0)
    {
        return slen==0;
    }
    while(sindex<slen&&pindex<plen)
    {
        if(p[pindex]=='*')
        {
            ++pindex;
            precord=pindex;
            srecord=sindex;
        }
        else if(p[pindex]==s[sindex]||p[pindex]=='?')
        {
            pindex++;
            sindex++;
        }
        else if(srecord!=-1)
        {
            srecord++;
            sindex=srecord;
            pindex=precord;
        }
        else 
        {
            return false;
        }
    }
    for(;pindex<plen;pindex++)
    {
        if(p[pindex]!='*')
        {
            return false;
        }
    }
    return true;
}    

LeetCode 44題:通配符匹配,leetcode,算法,職場和發(fā)展?文章來源地址http://www.zghlxwxcb.cn/news/detail-681551.html

?

到了這里,關(guān)于LeetCode 44題:通配符匹配的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 44. 通配符匹配(動態(tài)規(guī)劃)

    Problem: 44. 通配符匹配 給你一個輸入字符串 (s) 和一個字符模式p ,請你實現(xiàn)一個支持 ‘?’ 和 ‘ ’ 匹配規(guī)則的通配符匹配: ‘?’ 可以匹配任何單個字符。 \\\' ’ 可以匹配任意字符序列(包括空字符序列)。 判定匹配成功的充要條件是:字符模式必須能夠 完全匹配 輸入字符

    2024年02月04日
    瀏覽(22)
  • 【動態(tài)規(guī)劃】通配符匹配與正則表達(dá)式匹配

    【動態(tài)規(guī)劃】通配符匹配與正則表達(dá)式匹配

    題目描述: 給你一個輸入字符串 (s) 和一個字符模式 § ,請你實現(xiàn)一個支持 ‘?’ 和 ‘*’ 匹配規(guī)則的通配符匹配: ‘?’ 可以匹配任何單個字符。 ‘*’ 可以匹配任意字符序列(包括空字符序列)。 判定匹配成功的充要條件是:字符模式必須能夠 完全匹配 輸入字符串(而

    2024年02月07日
    瀏覽(36)
  • Spring Cloud Foundry上使用通配符模式匹配進(jìn)行的安全繞過漏洞 CVE-2023-20873

    Spring Cloud Foundry上使用通配符模式匹配進(jìn)行的安全繞過漏洞 CVE-2023-20873

    背景:公司項目掃描到 Spring Cloud Foundry上使用通配符模式匹配進(jìn)行的安全繞過漏洞 CVE-2023-20873 CVE-2023-20873:在Cloud Foundry上使用通配符模式匹配進(jìn)行的安全繞過 高風(fēng)險 | 2023年5月18日 | CVE-2023-20873 在Spring Boot版本3.0.0 - 3.0.5, 2.7.0 - 2.7.10, 2.6.0 - 2.6.14, 2.5.0 - 2.5.14以及舊版支持的版本

    2024年02月09日
    瀏覽(23)
  • Linux詳解:通配符

    Linux詳解:通配符

    Linux是一款開源操作系統(tǒng),其靈活性和可定制性一直受到開發(fā)者的喜愛和追捧。而且,Linux在文件管理方面提供了豐富的功能,例如通配符,它是一種用于匹配文件名的特殊字符。通配符在Linux中可以幫助我們更加方便和快捷地查找和操作文件。本文將介紹Linux中常用的通配符

    2024年02月09日
    瀏覽(56)
  • Elasticsearch 通配符查詢

    通配符查詢(wildcard query) 匹配字段被通配符表達(dá)式(沒有被分析)匹配的文檔。支持的通配符為*(匹配任意字符序列,包括空字符序列)以及?(匹配任意單字符)。注意,此查詢可能會很慢,它需要迭代許多字段值。為了防止極慢的通配符匹配,通配符字段值不能以一個

    2024年02月11日
    瀏覽(28)
  • 活用 命令行通配符

    活用 命令行通配符

    本文是對 阮一峰老師 命令行通配符教程 [1] 的學(xué)習(xí)與記錄 通配符早于正則表達(dá)式出現(xiàn),可以看作是原始的正則表達(dá)式. 其功能沒有正則那么強(qiáng)大靈活,而勝在簡單和方便. - 字符 切回上一個路徑/分支 如圖: !! 代表上一個命令, 如圖: [Linux中“!\\\"的神奇用法](https://www.cnblogs.com/bian

    2024年02月10日
    瀏覽(25)
  • 泛型的通配符

    泛型的通配符

    類型的上界決定了泛型的范圍。 我們發(fā)現(xiàn)指定了泛型的上界為數(shù)值類Number時,傳入Boolean類型就會報錯。 如果沒有指定類型的邊界,可以認(rèn)可 T extends Object,當(dāng)指定了某個類型為上界,那么只接受某類型本身和子類型作為E的類型實參 我們要實現(xiàn)一個類去找數(shù)組的一個的最大值

    2023年04月08日
    瀏覽(21)
  • 【類型通配符】

    為了表示各種泛型List的父類,可以使用類型通配符 類型通配符:? List?:表示元素類型未知的List,它的元素可以匹配任何的類型 這種帶通配符的List僅表示它是各種泛型List的父類,并不能把元素添加到其中 如果不想讓List?是任何泛型的父類,只想讓它代表某一類泛型List的父

    2024年02月17日
    瀏覽(58)
  • 16-字符串通配符

    題目 問題描述: 在計算機(jī)中,通配符一種特殊語法,廣泛應(yīng)用于文件搜索、數(shù)據(jù)庫、正則表達(dá)式等領(lǐng)域?,F(xiàn)要求各位實現(xiàn)字符串通配符的算法。 要求: 實現(xiàn)如下2個通配符: *:匹配0個或以上的字符(注:能被*和?匹配的字符僅由英文字母和數(shù)字0到9組成,下同) ?:匹配

    2024年02月15日
    瀏覽(24)
  • 了解java中的通配符“?“

    了解java中的通配符“?“

    目錄 通配符的作用 ????????先看一段代碼 ????????用通配符\\\"?\\\"后,代碼變化 ????????結(jié)論 通配符上界? 通配符下界 對通配符上下界的注釋理解及其練習(xí)代碼?? 簡記: ? ?用于在泛型的使用,即為通配符. 在Java中,通配符(wildcard)主要用于泛型編程,用于表示一個

    2024年02月10日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包