Как идеально измерить расстояние между определенными символами в строке в строгом порядке?

у меня есть 2 строки в них может быть все что угодно,
я получаю массив массивов,
где в каждом вложеном массиве находятся индексы каждого символа из второй строки в первой строке.
количество этих индексов n так как в первой строке может быть несколько одинаковых символов с разными индексами, мне нужно получить массив индексов символов в строгом порядке и с наименьшим расстоянием между этими символами, то есть к примеру у меня есть такая первая строка:
'смартфон apple iphone 11 256gb purple mhdu3'
вторая строка:
'iphone'
из этого получается такой массив:
[ [ 17 ], [ 10, 11, 18, 33, 36 ], [ 19, 41 ], [ 20 ], [ 21 ], [ 13, 22, 38 ] ]
в итоге его обработки я хочу получить такой
[ 17, 18, 19, 20, 21, 22 ],
соответсвенно если индекс какого-то символа не будет укладываться в строгий порядок, то есть если будет такая ситуация:
[ [17], [11, 9], 18 ]
то надо отловить этот момент и вернуть false
пожалуйста помогите а то я уже дня 3 над этим работаю ничего не получается
  • Вопрос задан
  • 139 просмотров
Решения вопроса 1
Adamos
@Adamos
Берем первый элемент первого массива и проходим по остальным массивам, выбирая первый из элементов очередного массива, который больше выбранного на предыдущем этапе. Если такого не нашлось - ошибка. Чего тут три дня работать-то?

А вообще решение, имхо, попахивает оверинжинирингом.
Что мешает найти решение в простом цикле "ищем первую позицию очередного символа в подстроке от предыдущего найденного до конца строки"? На хрена их все перебирать?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы