Naive String Search
Naive string search is a simple search. The logic is try to match strings with each other by iterating the smaller string over the bigger.
Pseudocode
- Loop over the longer string.
 - Loop over the shorter string.
 - if the characters dont match, break out of the inner loop.
 - if the characters match, continue.
 - if you complete the innter loop and find a match, increment the count of matches.
 - Return the count.
 
Time Complexity
- Best Case is O(1)
 - Average Case and Worst Case is O(N), where N is the size of the array
 
Naive string search
function naiveSearch(longString, shortString) {
  let count = 0;
  for (let i = 0; i < longString.length; i++) {
    for (let j = 0; j < shortString.length; j++) {
      if (shortString[j] !== longString[i + j]) {
        break;
      }
      if (j === shortString.length - 1) {
        count++;
      }
    }
  }
  return count;
}