diff --git a/coding_interviews/algoexpert/validate-subsequence/validate-subsequence-two-pointers.js b/coding_interviews/algoexpert/validate-subsequence/validate-subsequence-two-pointers.js new file mode 100644 index 0000000..ec3a20a --- /dev/null +++ b/coding_interviews/algoexpert/validate-subsequence/validate-subsequence-two-pointers.js @@ -0,0 +1,18 @@ +// Runtime: O(n) +// Space: O(1) + +function isValidSubsequence(array, sequence) { + let p1 = 0; + let p2 = 0; + + while (p1 < array.length && p2 < sequence.length) { + if (array[p1] === sequence[p2]) { + p1++; + p2++; + } else { + p1++; + } + } + + return p2 === sequence.length; +}