最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java 數(shù)據(jù)結(jié)構(gòu)與算法系列精講之字符串暴力匹配

 更新時(shí)間:2022年02月18日 09:24:13   作者:我是小白呀  
字符串暴力匹配算法是指在一個(gè)長字符串中暴力尋找是否包含某一子串所謂暴力匹配,就是不使用任何其他算法,將兩個(gè)字符串中的字符一一進(jìn)行比對

概述

從今天開始, 小白我將帶大家開啟 Java 數(shù)據(jù)結(jié)構(gòu) & 算法的新篇章.

字符串匹配

字符串匹配 (String Matching) 指的是判斷一個(gè)字符串是否包含另一個(gè)字符串.

舉個(gè)例子:

  • 字符串 “Hello World” 包含字符串 “Hello”
  • 字符串 “Hello World” 不包含字符串 “LaLaLa”

暴力匹配

暴力匹配 (Brute-Force) 的思路:

  • 如果charArray1[i] == charArray2[j], 即匹配成功, i++, j++, 繼續(xù)匹配下一個(gè)字符
  • 如果匹配失敗, i 重置為i - (j - 1), j 重置成 0, 繼續(xù)暴力匹配

暴力匹配實(shí)現(xiàn)

public class 暴力匹配 {

    public static int BruteForce(String str1, String str2) {

        // 將字符串轉(zhuǎn)化為char數(shù)組
        char[] charArray1 = str1.toCharArray();
        char[] charArray2 = str2.toCharArray();

        // string長度
        int length1 = charArray1.length;
        int length2 = charArray2.length;

        // 調(diào)試輸出
        System.out.println(charArray1);
        System.out.println(charArray2);

        int i = 0;
        int j = 0;

        while (i < length1 && j < length2) {

            // 判斷是否匹配
            if (charArray1[i] == charArray2[j]) {

                // 各往后挪一位
                i++;
                j++;
            } else {

                // 重新匹配
                i = i - (j - 1);
                j = 0;
            }
        }

        // 匹配完成, 返回index
        if (j == length2) {
            return i - j;
        } else {
            return -1;
        }
    }

    public static void main(String[] args) {

        // 字符串1
        String str1 = "I am little white";

        // 字符串2
        String str2 = "white";

        // 暴力匹配
        int result = BruteForce(str1, str2);
        System.out.println(result);
    }
}

輸出結(jié)果:

I am little white
white
12

到此這篇關(guān)于Java 數(shù)據(jù)結(jié)構(gòu)與算法系列精講之字符串暴力匹配的文章就介紹到這了,更多相關(guān)Java 字符串暴力匹配內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Kafka消費(fèi)客戶端協(xié)調(diào)器GroupCoordinator詳解

    Kafka消費(fèi)客戶端協(xié)調(diào)器GroupCoordinator詳解

    這篇文章主要為大家介紹了Kafka消費(fèi)客戶端協(xié)調(diào)器GroupCoordinator使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-10-10
  • Java源碼解析之LinkedHashMap

    Java源碼解析之LinkedHashMap

    LinkedHashMap是HashMap的子類,所以也具備HashMap的諸多特性.不同的是,LinkedHashMap還維護(hù)了一個(gè)雙向鏈表,以保證通過Iterator遍歷時(shí)順序與插入順序一致.除此之外,它還支持Access Order, ,需要的朋友可以參考下
    2021-05-05
  • Java8新特性stream和parallelStream區(qū)別

    Java8新特性stream和parallelStream區(qū)別

    這篇文章主要介紹了Java8新特性stream和parallelStream區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • Java之單鏈表問題解決案例講解

    Java之單鏈表問題解決案例講解

    這篇文章主要介紹了Java之單鏈表問題解決案例講解,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • Java httpClient介紹以及使用示例

    Java httpClient介紹以及使用示例

    這篇文章主要介紹了Java httpClient介紹以及使用示例,幫助大家更好的利用Java實(shí)現(xiàn)HTTP請求,感興趣的朋友可以了解下
    2020-10-10
  • Java使用BigDecimal公式精確計(jì)算及精度丟失問題

    Java使用BigDecimal公式精確計(jì)算及精度丟失問題

    在工作中經(jīng)常會(huì)遇到數(shù)值精度問題,比如說使用float或者double的時(shí)候,可能會(huì)有精度丟失問題,下面這篇文章主要給大家介紹了關(guān)于Java使用BigDecimal公式精確計(jì)算及精度丟失問題的相關(guān)資料,需要的朋友可以參考下
    2023-01-01
  • Java并發(fā)底層實(shí)現(xiàn)原理學(xué)習(xí)心得

    Java并發(fā)底層實(shí)現(xiàn)原理學(xué)習(xí)心得

    本片文章是學(xué)習(xí)Java并發(fā)底層實(shí)現(xiàn)原理的一篇知識(shí)心得,對大家學(xué)習(xí)這個(gè)方便的知識(shí)很有幫助,一起參考下。
    2018-01-01
  • spring4.3 實(shí)現(xiàn)跨域CORS的方法

    spring4.3 實(shí)現(xiàn)跨域CORS的方法

    下面小編就為大家分享一篇spring4.3 實(shí)現(xiàn)跨域CORS的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-01-01
  • spring @Profiles和@PropertySource實(shí)現(xiàn)根據(jù)環(huán)境切換配置文件

    spring @Profiles和@PropertySource實(shí)現(xiàn)根據(jù)環(huán)境切換配置文件

    這篇文章主要介紹了spring @Profiles和@PropertySource根據(jù)環(huán)境切換配置文件,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • Maven打包跳過測試的三種方法

    Maven打包跳過測試的三種方法

    這篇文章主要介紹了Maven打包跳過測試的三種方法,幫助大家更好的理解和使用maven,感興趣的朋友可以了解下
    2020-11-11

最新評(píng)論

汤阴县| 资源县| 鄂尔多斯市| 蒙自县| 邢台市| 金沙县| 东乡县| 甘南县| 桃源县| 昌平区| 锦屏县| 寿宁县| 平阴县| 无棣县| 永定县| 保靖县| 深水埗区| 涞水县| 海林市| 湖南省| 云梦县| 莲花县| 苏尼特右旗| 岑巩县| 汤阴县| 诏安县| 凉城县| 左贡县| 临澧县| 江阴市| 麻阳| 湄潭县| 孝昌县| 塘沽区| 美姑县| 常熟市| 彰化县| 疏勒县| 巫山县| 兰西县| 富源县|