partial numerical array - pattern matching I have a linear numerical array source and I want to find/match test array as pattern :

source = [39,36,23,21,28,36,30,22,34,37]
test = [36,23,21,28]


we can use brute force or similar method for finding the exact match, by checking test array from index 0 to len(source)-len(test) 

but in our problem, we can accept this pattern too ( order is important )

test = [36,24,21,28] // changed 23 to 24


since we have many different ways of solving this problem ( maybe fuzzy!),
I want to know the title of some solutions.
According to your definition (consecutive, order matters, max +/-2 difference), it's not a fuzzy matching case. It's just a minor variant of searching a subsequence:

for i=0 to len(source)-len(test) {
  j=0
  while (j&lt;len(test)) &amp;&amp; (abs(source[i+j]-test[j]) &lt;= 2) {
    j++
  if (j == len(test)) { 
     // match found
  }
}


This is the simple version, in case efficiency is an issue there is a more efficient version using dynamic programming.