美文网首页
暴力字符串查找算法

暴力字符串查找算法

作者: FiveZM | 来源:发表于2018-03-22 20:12 被阅读0次

算法思路:
i为txt的指针
j为pattern的指针
当txt的i+j角标不等于pattern的j角标,那么就break结束这次配对,
然后i++,txt角标(i+j)再次和pattern的j角标(0)开始配对
循环结束后,如果j的角标==M长度,那么就证明匹配成功,
成功返回匹配成功的第一个字符串的角标
失败返回-1

public class search {

    public static void main(String[] args) {
        int index = search("ABACADABRAC", "ABRA");
        System.out.println(index);
    }

    private static int search(String txt, String pattern) {
        int N = txt.length();
        int M = pattern.length();

        for (int i = 0; i < N - M; i++) {
            int j;
            for (j = 0; j < M; j++) {
                if (txt.charAt(i + j) != pattern.charAt(j))
                    break;
            }
            if (j == M)
                return i;
        }
        return -1;
    }

}

相关文章

  • KMP算法文章合集

    字符串的查找:朴素查找算法和KMP算法 暴力匹配算法与KMP算法(串的匹配) 字符串查找算法BF和KMP 字符串匹...

  • iOS-字符串查找

    字符串查找通常有四种方式,暴力查找,KMP查找,BoyerMoore查找以及RabinKarp算法查找,查找最简单...

  • 子字符串查找(1)

    一、定义 本文主要介绍子字符串查找的各类常用算法,如朴素匹配算法(暴力查找)、KMP算法、BM算法等。各类匹配算法...

  • 数据结构与算法 -- 串,BF算法和RK算法

    BF算法 BF(Brute Force)算法,即暴力匹配算法 如果在字符串A中查找字符串B,那么字符串A就是主串,...

  • KMP

    简介 用于子字符串查找 首先是暴力查找 最坏时间复杂度为O(N*M) KMP算法思想 暴力查找之所以慢是因为它每次...

  • KMP字符串匹配算法的实现

    KMP字符串匹配算法的实现 暴力查找 这是最简单的一种字符串匹配算法: 使用一个指针 i 跟踪目标文本 txt, ...

  • 子字符串查找(2)——KMP算法

    一、定义 KMP(Knuth-Morris-Pratt)算法,其实是对暴力查找算法的优化。在暴力查找算法中,用于追...

  • 暴力字符串查找算法

    算法思路:i为txt的指针j为pattern的指针当txt的i+j角标不等于pattern的j角标,那么就brea...

  • 算法(2)KMP算法

    1.0 问题描述 实现KMP算法查找字符串。 2.0 问题分析 “KMP算法”是对字符串查找“简单算法”的优化。 ...

  • 《算法》笔记 15 - 子字符串查找

    暴力子字符串查找算法隐式回退性能显式回退 Knuth-Morris-Pratt算法确定有限状态自动机DFA的构造性...

网友评论

      本文标题:暴力字符串查找算法

      本文链接:https://www.haomeiwen.com/subject/xwrzqftx.html