Напишите эффективную программу на C, которая принимает две строки (строка a, строка b) и дает первое вхождение строки b в строку a.
Это не говорит о том, что вы делаетеповторное сопоставление с любой строкой или с любым полезным пониманием того, что одно из них является особенно коротким, конкретным содержимым или имеется много времени запуска, а затем триггерного события, после которого необходимо максимально быстрое сравнение, поэтому: все сложные алгоритмы, упомянутые винтервьюер, вероятно, не ищет другие ответы.
Я прочитал «эффективный», чтобы обозначить, что алгоритм не повторяется и не вызывает внешнюю строку strcmp (), помня о том, чтобы повторно не вызывать strlen (),предпочтительно немедленно возвращает false, если сравнение равенства исчерпывает «стог сена» перед «иглой».Честно говоря, если это будет раннее собеседование, тогда достаточное количество людей не сможет хорошо реализовать что-то подобное - вполне вероятно, что это все, чего они хотели, не вдаваясь в расширенную предварительную индексацию или конечные автоматы.