Сделал. Решал через стек, причём даны векторы и удобно с ними работать сразу как со стеками, снимая элементы с конца, а потом просто развернуть ответ. В итоге, время O(N + M) и память O(1) если не считать вектор под ответ (иначе тоже `O(N+M)`)
Кстати, в последнее время работаю строго по помодоро и заметил реальный прогресс! Прямо вот эти магические 25 минут таймера заставляются сконцентрироваться 😄
Viktor
Конкретно вот эту задачу решил за 20 минут: от момента как увидел условие до момента как сдал. Для меня это очень быстро, обычно я намного дольше сижу! И вот как показывает практика с таймером — как раз потому что много отвлекаюсь.
ну элементарный пример — происходит в векторе resize из-за увеличения capacity и если где-то запоминал ссылки на указатели, рассчитывая, что они будут на те же участки памяти указывать всегда, то будет беда.
хм, а зачем она такая сложная? у меня аналогичная проверка вот такая: https://gist.github.com/vitkarpov/ebd1541bf5deb9d9f8fab9416621ff11#file-interval-intersection-cpp-L13