Здравствуйте, VsevolodC, Вы писали:
VC>Interview Questions здесь
Нашел там
Interview Question for Senior Software Engineer at Google
Look for a string in a very long string - a needle in a haystack. Write the program in pseudo-code.
function isSubstring (needle, haystack) {
for(int i=0; i<length(haystack); i++) {
if (needle[0] == haystack[i]) {
for(int j=0; j<length(needle; j++)
if(needle[j] != haystack[i+j]) break;
if (j==length(needle)) return true;
}
}
return false;
}
Здравствуйте, hrensgory, Вы писали:
H>shrecher пишет: >> >> Главная >> "дойная корова" наших H1B-шников пошла под нож.
H>А можно подробнее, для тех кто не в теме ?
Микрософт людей сокращает активно, а МС был основной импортер прогов.
Здравствуйте, olegkr, Вы писали:
O>Здравствуйте, shrecher, Вы писали:
S>>Микрософт людей сокращает активно, а МС был основной импортер прогов. O>Сокращают сейлов.
Сокращают всех: где-то больше, где-то меньше. К примеру, почикали E&D. Вообще маркетинг в последнюю очередь режут, т.к. они рельные деньги прямо сейчас дают. Обычный подход бизнеса: cократи R&D и год живи старыми запасами. Почитай, http://minimsft.blogspot.com/
Здравствуйте, Nuseraro, Вы писали:
N>Здравствуйте, VsevolodC, Вы писали:
VC>>Interview Questions здесь
N>Нашел там
N>
N>Interview Question for Senior Software Engineer at Google
N>Look for a string in a very long string - a needle in a haystack. Write the program in pseudo-code.
N>function isSubstring (needle, haystack) {
N> for(int i=0; i<length(haystack); i++) {
N> if (needle[0] == haystack[i]) {
N> for(int j=0; j<length(needle; j++)
N> if(needle[j] != haystack[i+j]) break;
N> if (j==length(needle)) return true;
N> }
N> }
N> return false;
N>}
N>
Здравствуйте, EM, Вы писали:
EM>Здравствуйте, Nuseraro, Вы писали:
N>>Здравствуйте, VsevolodC, Вы писали:
VC>>>Interview Questions здесь
N>>Нашел там
N>>
N>>Interview Question for Senior Software Engineer at Google
N>>Look for a string in a very long string - a needle in a haystack. Write the program in pseudo-code.
N>>function isSubstring (needle, haystack) {
N>> for(int i=0; i<length(haystack); i++) {
N>> if (needle[0] == haystack[i]) {
N>> for(int j=0; j<length(needle; j++)
N>> if(needle[j] != haystack[i+j]) break;
N>> if (j==length(needle)) return true;
N>> }
N>> }
N>> return false;
N>>}
N>>
Здравствуйте, EM, Вы писали:
EM>Здравствуйте, denisko, Вы писали:
D>>Здравствуйте, EM, Вы писали:
D>>Решение как решение, сразу видно, что человек хотел сказать.
EM>А еще видно, что оно мягко говоря не оптимальное
А какое оптимальное ? если предположить что буква строки имеет сложный компаратор, кодировка, case ?
Здравствуйте, EM, Вы писали:
EM>Здравствуйте, denisko, Вы писали:
D>>Здравствуйте, EM, Вы писали:
D>>Решение как решение, сразу видно, что человек хотел сказать.
EM>А еще видно, что оно мягко говоря не оптимальное
Он сойдет если кусок не критичен по быстродействию. И если есть ограниченное время на решение. У большинства извращений худшая ассимптотика таже n*m.
Одно замечение, что если это c++ то код не скомпилиццо.
Здравствуйте, minorlogic, Вы писали:
M>Здравствуйте, EM, Вы писали:
EM>>Здравствуйте, denisko, Вы писали:
D>>>Здравствуйте, EM, Вы писали:
D>>>Решение как решение, сразу видно, что человек хотел сказать.
EM>>А еще видно, что оно мягко говоря не оптимальное
M>А какое оптимальное ? если предположить что буква строки имеет сложный компаратор, кодировка, case ?
По всем этим причинам не следует перебирать все символы
Реальные пацаны хвалят http://ru.wikipedia.org/wiki/Алгоритм_Бойера_—_Мура_—_Хорспула
Опыт — это такая вещь, которая появляется сразу после того, как была нужна...
Здравствуйте, EM, Вы писали:
M>>А какое оптимальное ? если предположить что буква строки имеет сложный компаратор, кодировка, case ?
EM>По всем этим причинам не следует перебирать все символы EM>Реальные пацаны хвалят http://ru.wikipedia.org/wiki/Алгоритм_Бойера_—_Мура_—_Хорспула
Алгоритм посмотрел, но не уверен что будет работать если у символа несколько пердставлений. Буду курить дальше.
Здравствуйте, olegkr, Вы писали:
O>Здравствуйте, shrecher, Вы писали:
S>>Микрософт людей сокращает активно, а МС был основной импортер прогов. O>Сокращают сейлов.
Здравствуйте, Ушастый Ёж, Вы писали:
УЁ>Здравствуйте, EM, Вы писали:
D>>>Решение как решение, сразу видно, что человек хотел сказать. EM>>А еще видно, что оно мягко говоря не оптимальное
УЁ>Треп на тему "оптимальное решение" без указания критерия оптимальности — пустой звон.
А так же признак дилетантизма в обсуждаемом вопросе.
Не указан критерий оптимальности для поиска подстроки... это сильно. Интернесно какой он может быть?
Признак твоего глубокого профессионализма в вопросе "как обкуриться чтобы крыша съехала совсем"
Опыт — это такая вещь, которая появляется сразу после того, как была нужна...