public static void Main()
int[] arr = {3, 4, 1, 2, 1, 2, 0, 1, 2, 5, 6};
Console.WriteLine(FindLast(arr, srch));
public static int FindLast(int[] haystack, int[] needle)
for (var i = haystack.Length - 1; i >= needle.Length - 1; i--)
for (var j = needle.Length - 1; j >= 0 && found; j--)
found = haystack[i - (needle.Length - 1 - j)] == needle[j];
return i - (needle.Length - 1);