Другой популярный вопрос для собеседования по кодированию - проверить, является ли второй массив подпоследовательностью первого массива. Например, если первый массив: [1, 2, 3, 4, 5], а второй массив: [1, 2, 3], ваша функция должна вернуть «true». Давайте разберемся с этим решением на Javascript.

Во-первых, вам нужно отслеживать, в каком индексе вы находитесь как в первом, так и во втором массиве. Итак, давайте инициализируем две переменные как 0, одну для отслеживания индекса массива, а другую для отслеживания индекса последовательности.

Затем мы убедимся, что будем перебирать массивы только в том случае, если каждый из них является «правдивым». Если один из них не выйдет, это нарушит наш код. Так что давайте добавим туда и это утверждение.

Остановимся на секунду и подумаем, что именно мы ищем. Нам нужно найти элемент массива, который совпадает с элементом последовательности. Если они совпадают, давайте перейдем к проверке следующего индекса в последовательности. И независимо от того, одинаковы они или нет, мы хотим продолжить итерацию по нашему массиву. Итак, давайте включим это условие в наш цикл while с помощью оператора If.

Как мы узнаем, что нашли полную подпоследовательность? Когда значение seqIdx равно длине последовательности.

Это вернет логическое значение - если seqIdx не равен длине последовательности, значит, мы явно не нашли все элементы последовательности, которые должны присутствовать в массиве.