From 5b3efe8d2c59c8805184e66e461d1d6fd8eede0a Mon Sep 17 00:00:00 2001 From: Thivagar Manickam Date: Sat, 1 Aug 2020 09:42:36 +0530 Subject: [PATCH] Added string pattern matching algorithm --- String/PatternMatching.js | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 String/PatternMatching.js diff --git a/String/PatternMatching.js b/String/PatternMatching.js new file mode 100644 index 0000000000..b6b64bb5b3 --- /dev/null +++ b/String/PatternMatching.js @@ -0,0 +1,36 @@ +/* +Pattern matching is case insensitive as +the inputs are converted to lower case before the +algorithm is run. + +The algorithm will run through the entire text and +return the starting index if the given pattern is +available in the text +*/ +const checkIfPatternExists = (text, pattern) => { + const textLength = text.length // Store the length of the text in a variable + const patternLength = pattern.length // Store the length of the pattern in a variable + + // Iterate through the text until the textlength - patternlength index + for (let i = 0; i <= textLength - patternLength; i++) { + // For each character in the text check if the subsequent character + // are matching the given pattern; if not break from the condition + for (let j = 0; j < textLength; j++) { + if (text[i + j] !== pattern[j]) break + + // For each iteration of j check if the value of + // j + 1 is equal to the length of the pattern + if (j + 1 === patternLength) { + console.log(`Given pattern is found at index ${i}`) + } + } + } +} + +const main = () => { + const text = 'AABAACAADAABAAAABAA' + const pattern = 'AABA' + checkIfPatternExists(text.toLowerCase(), pattern.toLowerCase()) +} + +main() pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy