Здравствуйте, Nuzhny, Вы писали:
N>Казалось бы, что ты мог забыть? Как итерироваться по строке? Как узнать её длину? Сам алгоритм-то помнить не надо, он разве не очевиден?
Ну давай, расскажи, как ты перевернешь строку без выделения новой памяти, которая была засунута в RO сегмент микроконтроллера в целях экономии оперативной памяти :trollface:
Здравствуйте, landerhigh, Вы писали:
L>Ну давай, расскажи, как ты перевернешь строку без выделения новой памяти, которая была засунута в RO сегмент микроконтроллера в целях экономии оперативной памяти :trollface:
Куда то тебя понесло уж очень вдаль...
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[11]: Зачем просят перевернуть строку на интервью?
Здравствуйте, Тёмчик, Вы писали:
Тё>Ну зачем итераторы C++ пихать?
А почему нет? Итератор это всего то абстракция. Если девелопер не способен её понять — у меня для него плохие новости.
Тё>Но блин, в моей вселенной никому не нужен C++.
Restrictions надо оговаривать отдельно а главное заранее.
Тё> Так почему бы не выпендриваться и не сделать с массивом и индексами.
Лично я увидев в этой задаче индексы даже на С засчитал бы как небольшой минус и попросил бы переписать решение так, чтобы от индексов избавиться.
Из моего опыта — любители индексов в массе пишут спагетти код.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[3]: Зачем просят перевернуть строку на интервью?
Здравствуйте, Тёмчик, Вы писали:
Тё>Мастер в компьютер саенс в европейском университете, говорит связно, на вид неглупый. Как такое может быть, я хз.
Ха! Таких на самом деле валом.
Это кодер, самостоятельно вести разработку не способен, инженерное мышление не развито — умеет только складывать из кубиков.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[2]: Зачем просят перевернуть строку на интервью?
Здравствуйте, CreatorCray, Вы писали:
CC>Здравствуйте, landerhigh, Вы писали:
L>>Ну давай, расскажи, как ты перевернешь строку без выделения новой памяти, которая была засунута в RO сегмент микроконтроллера в целях экономии оперативной памяти :trollface: CC>Куда то тебя понесло уж очень вдаль...
Почему вдаль? Вполне рядовая ситуация. Я имею в виду строку в RO, а не необходимость ее переворота.
Здравствуйте, CreatorCray, Вы писали:
Тё>>Ну зачем итераторы C++ пихать? CC>А почему нет? Итератор это всего то абстракция. Если девелопер не способен её понять — у меня для него плохие новости.
Тё>>Но блин, в моей вселенной никому не нужен C++. CC>Restrictions надо оговаривать отдельно а главное заранее.
Ок. Если правильно написал сигнатуру функции с итераторами, и продемонстрировал алгоритм + swap ручками (а без временной переменной ещё лучше), и показал, как скормишь туда массив символов- я засчитаю. Даже если у нас искали со знанием ts и java. У меня ещё в очереди вопросы поинтересней.
Тё>> Так почему бы не выпендриваться и не сделать с массивом и индексами. CC>Лично я увидев в этой задаче индексы даже на С засчитал бы как небольшой минус и попросил бы переписать решение так, чтобы от индексов избавиться.
Почему минус? Один тест на одну способность. Хочешь проверить знание арифметики указателей- делай отдельный тест.
CC>Из моего опыта — любители индексов в массе пишут спагетти код.
Ты как-то предвзято относишься. Зачем так.
Re[3]: Зачем просят перевернуть строку на интервью?
Здравствуйте, CreatorCray, Вы писали:
CC>Здравствуйте, koodeer, Вы писали:
K>>Во многих языках/платформах строки иммутабельные. В частности, в Java, .NET, Python... В них нельзя перевернуть строку по месту. CC>Варианта 2: CC>1. Выбери другой язык CC>2. Переворачивай не строку а массив символов
K>>Также вызывает недоумение, что никто даже не вспомнил о юникоде. Многобайтовые кодировки, суррогатные пары, всё такое... Нужно же не просто байты перекинуть, а символы. CC>Любопытным отвечают что по условиям задачи строка ASCII. Задача не про это.
Абсолютно верно. Это типичная задача для отсева непрограмиистов. Следующая обычно — разворот списка. На тех, кто не справился — просто нет смысла тратить время. Они не умеют программировать. Можно сделать небольшие подсказки, уточнения в процессе решения. Скидку на волнение, но в целом это маст хэв, так сказать.
Re[3]: Зачем просят перевернуть строку на интервью?
CC>Ты теряешь главный нюанс этого вопроса: просят написать алгоритм, который собственно переворачивание будет делать полностью сам. CC>Язык и правда не важен, встроенные переворачиваторы в решении использовать нельзя.
Вот именно эти детали и должны быть уточнены: 1) пишем алгоритм, а не функцию на конкретном языке программирования, 2) строка изменяемая с доступом к символам по индексу, 3) есть функция вычисления длины строки, работающая без дополнительной памяти. Не во всех языках программирования и ситуациях эти условия выполняются.
Re[4]: Зачем просят перевернуть строку на интервью?
Здравствуйте, LaptevVV, Вы писали:
LVV>>>В книге Бентли "Жемчужины программирования" в разделе 2.3 Мощь элементарного на странице 32-33 LVV>>>рассматривается этот алгоритм. LVV>>>И приводится удивительно элегантное рекурсивное решение. Тё>>Зачем там рекурсия? LVV>Прошу пардону. LVV>Там реверс строки используется для реализации циклического сдвига строки на n позиций за О(n).
Здравствуйте, De-Bill, Вы писали:
CC>>Ты теряешь главный нюанс этого вопроса: просят написать алгоритм, который собственно переворачивание будет делать полностью сам. CC>>Язык и правда не важен, встроенные переворачиваторы в решении использовать нельзя.
DB>Вот именно эти детали и должны быть уточнены: 1) пишем алгоритм, а не функцию на конкретном языке программирования, 2) строка изменяемая с доступом к символам по индексу, 3) есть функция вычисления длины строки, работающая без дополнительной памяти. Не во всех языках программирования и ситуациях эти условия выполняются.
Угу, ты еще стоимость рандомного доступа по индеску обсуди. Может только итератор можно. Кто знает, какая там память.
А вообще не надо выдумавать проблем, там где их нет. Никто на собесе никого не хочет завалить, нет смысла придираться. Это же не форум на рсдн.
Здравствуйте, Тёмчик, Вы писали:
Тё>Зачем просят перевернуть строку на интервью?
Потому что в реальном проекте нужно будет переставлять кровати.
А если серьёзно, то это первое, что нашлось в интернетах с готовым ответом. Как-то ни разу не сталкивался с вариациями, например, поменять левую часть строки с правой.
Re[2]: Зачем просят перевернуть строку на интервью?
Здравствуйте, VVV, Вы писали:
LVV>>Там реверс строки используется для реализации циклического сдвига строки на n позиций за О(n).
VVV>Знаю как не рекурсивно (и очень элегантно) : http://rsdn.org/forum/other/124244.1
Там в коде ошибка.
VVV>А как рекурсивно?
Вместо for-loop впихнуть tail recursion. Imho это изврат- но возможно, для проверки умения кандидата в рекурсию подойдёт, хотя лучше эту проверку отдельной простой задачей сделать.
Re[5]: Зачем просят перевернуть строку на интервью?
CAF>А вообще не надо выдумавать проблем, там где их нет. Никто на собесе никого не хочет завалить, нет смысла придираться.
При собеседовании у Тёмки, возможно. Но я знаю вполне конкретные конторы (так как там мои знакомые собеседуют), где за решение задачи без уточнения условий (вопросов со стороны соискателя) будет серьёзный минус.
Re[3]: Зачем просят перевернуть строку на интервью?