Re[4]: Зачем просят перевернуть строку на интервью?
От: 0xCAFEDEAD  
Дата: 19.10.18 04:38
Оценка:
Здравствуйте, Тёмчик, Вы писали:

Тё>Здравствуйте, 0xCAFEDEAD, Вы писали:


CAF>>Не все твои слова я понял Но такая оценка знания алгоритмов от человека имеющего проблемы с переворотом строки вызывают смешанные чувства. У меня кстати при словах поиск по тексту сразу всплыло смутно КМП. Думал, что бред, ан нет, просто хорошо забытое слово


Тё>Ты намекаешь, что у меня проблема с переворотом строки?

Конечно же нет, сам не понимаю, зачем ты завел этот топик
Тё>Насчёт кнута-морриса-пратта, это хорошо что ты ещё помнишь название алгоритма поиска подстроки. Плохо, что у тебя проблема с отличием O(N) от O(log N).
Это было бы очень плохо, согласен. А при чем, тут извиняюсь, O(log N)?
Я распознал только про поиск подсктроки, и вспомнил про КМП (как расшифровать уже и не вспомнил, но нагунлил). И радостно об этом написал Ты знаешь как можно подстроку в тексте за logN найти? Поделись, плз, познаниями, в жизни все пригодится.

Или может "Нужно было реализовать поиск по тексту." предполагает нечто иное нежели нежели поски подстроки в строке? Тогда так и пиши. Ты как задание написал, так я и понял. А то может эта задача совсем и не этом?

Тё>А что Говоришь, работаешь в Долине? Ты правда программист?

Конечно же нет Неужели не понятно?
Re[5]: Зачем просят перевернуть строку на интервью?
От: Тёмчик Австралия жж
Дата: 19.10.18 09:21
Оценка:
Здравствуйте, 0xCAFEDEAD, Вы писали:

CAF>>>Не все твои слова я понял Но такая оценка знания алгоритмов от человека имеющего проблемы с переворотом строки вызывают смешанные чувства. У меня кстати при словах поиск по тексту сразу всплыло смутно КМП. Думал, что бред, ан нет, просто хорошо забытое слово


Тё>>Ты намекаешь, что у меня проблема с переворотом строки?

CAF>Конечно же нет, сам не понимаю, зачем ты завел этот топик
Тё>>Насчёт кнута-морриса-пратта, это хорошо что ты ещё помнишь название алгоритма поиска подстроки. Плохо, что у тебя проблема с отличием O(N) от O(log N).
CAF>Это было бы очень плохо, согласен. А при чем, тут извиняюсь, O(log N)?
CAF>Я распознал только про поиск подсктроки, и вспомнил про КМП (как расшифровать уже и не вспомнил, но нагунлил). И радостно об этом написал Ты знаешь как можно подстроку в тексте за logN найти? Поделись, плз, познаниями, в жизни все пригодится.


Я ожидал реакцию на каждую букву, наивный поиск в suffix tree, подсветку слов в тексте.

Напомню, домашнее задание на выходные. Гуглом все пользовались, всплывпющие подсказки видели. Тут уж написать на доске suffix tree не требовалось. Хотя неплохо бы знать, что это такое.


CAF>Или может "Нужно было реализовать поиск по тексту." предполагает нечто иное нежели нежели поски подстроки в строке? Тогда так и пиши. Ты как задание написал, так я и понял. А то может эта задача совсем и не этом?

Предполагает показать свои умения. Склеить 150 раз по 100 строк и применить к ним substring демонстрирует отсутствие понимания bigO.
Re[6]: Зачем просят перевернуть строку на интервью?
От: 0xCAFEDEAD  
Дата: 19.10.18 15:17
Оценка:
Здравствуйте, Тёмчик, Вы писали:

Тё>Здравствуйте, 0xCAFEDEAD, Вы писали:


CAF>>>>Не все твои слова я понял Но такая оценка знания алгоритмов от человека имеющего проблемы с переворотом строки вызывают смешанные чувства. У меня кстати при словах поиск по тексту сразу всплыло смутно КМП. Думал, что бред, ан нет, просто хорошо забытое слово


Тё>>>Ты намекаешь, что у меня проблема с переворотом строки?

CAF>>Конечно же нет, сам не понимаю, зачем ты завел этот топик
Тё>>>Насчёт кнута-морриса-пратта, это хорошо что ты ещё помнишь название алгоритма поиска подстроки. Плохо, что у тебя проблема с отличием O(N) от O(log N).
CAF>>Это было бы очень плохо, согласен. А при чем, тут извиняюсь, O(log N)?
CAF>>Я распознал только про поиск подсктроки, и вспомнил про КМП (как расшифровать уже и не вспомнил, но нагунлил). И радостно об этом написал Ты знаешь как можно подстроку в тексте за logN найти? Поделись, плз, познаниями, в жизни все пригодится.


Тё>

Тё>Я ожидал реакцию на каждую букву, наивный поиск в suffix tree, подсветку слов в тексте.

Тё>Напомню, домашнее задание на выходные. Гуглом все пользовались, всплывпющие подсказки видели. Тут уж написать на доске suffix tree не требовалось. Хотя неплохо бы знать, что это такое.
Напомню??? Я не видел условия вообще. А предположить, что кто-то все еще дает задание на выходные у меня воображения не хватило.

Какие всплывающие подсказки? Причем тут гугл?
CAF>>Или может "Нужно было реализовать поиск по тексту." предполагает нечто иное нежели нежели поски подстроки в строке? Тогда так и пиши. Ты как задание написал, так я и понял. А то может эта задача совсем и не этом?
Тё>Предполагает показать свои умения. Склеить 150 раз по 100 строк и применить к ним substring демонстрирует отсутствие понимания bigO.
По-моему без условия этого не понять.
Re: Зачем просят перевернуть строку на интервью?
От: rm822 Россия  
Дата: 23.10.18 23:39
Оценка:
Здравствуйте, Тёмчик, Вы писали:

>>Зачем просят перевернуть строку на интервью?

затем что
-30% слушает не что от них хотят, а голоса в своей голове, и сделают все что угодно, кроме задачи
-еще 30% раздолбаи, они недослушают условия, выделят память, вылезут за границы массива и т.п.
-у 5% случиться истерика, когда им укажут на ошибки
-10% оскорбяться слишком простой задачей для их "заоблачной квалификации"
-15% исправят ошибки с 3го раза, у них уровень — код компиляется, я свою работу сделал

90% бракуется просто потому что они не способны выполнить самую элементарную задачу своего руководства
И чтобы этих баранов сразу выгнать, выбирается максимально простая, абсолютно стандартная задача, с минимумом возможных трактовок.
Re[3]: Зачем просят перевернуть строку на интервью?
От: Hobbes Россия  
Дата: 24.10.18 06:49
Оценка:
Здравствуйте, CreatorCray, Вы писали:

CC>По условиям задачи на собеседованиях надо как раз in-place.


Только вот обычная строка в питоне — иммутабельная.
Re[3]: Зачем просят перевернуть строку на интервью?
От: Hobbes Россия  
Дата: 24.10.18 06:53
Оценка:
Здравствуйте, sergey2b, Вы писали:

S>помоему в сервиси говорят пассажирская и водительская сторона


Если учесть, что есть машины с правым или левым рулём и с одинаковыми деталями
Re[3]: Зачем просят перевернуть строку на интервью?
От: Hobbes Россия  
Дата: 24.10.18 06:53
Оценка:
Здравствуйте, Tourist, Вы писали:

T>ну, если смотреть на машину в лоб, то лево\право как бы меняються, если смотреть с заду на нее. В общем зависит от точки зрения\отсчета. Знания где лево\право может и не помочь.


Принято смотреть по ходу движения. Для зануд — движения вперёд.
Re[6]: Зачем просят перевернуть строку на интервью?
От: Hobbes Россия  
Дата: 24.10.18 06:56
Оценка:
Здравствуйте, Nuzhny, Вы писали:

N>Вот тут нельзя не сказать про достоинства такого языка, как С++:

N>
N>template<class BidirIt>
N>void reverse(BidirIt first, BidirIt last)
N>{
N>    while ((first != last) && (first != --last)) {
N>        std::iter_swap(first++, last);
N>    }
N>}
N>


Лаконично. И похоже, даже будет работать правильно.
Re[3]: Зачем просят перевернуть строку на интервью?
От: Hobbes Россия  
Дата: 24.10.18 07:02
Оценка:
Здравствуйте, Michael7, Вы писали:

M>Все бы ничего, но на utf-8 и даже на utf-16 в общем случае этот алгоритм сработает неправильно из-за переменной длины символов.


Этого можно избежать, если работать со строкой как с последовательностью code point'ов, а не как с последовательностью байтов в конкретной кодировке.
Re[14]: Зачем просят перевернуть строку на интервью?
От: Hobbes Россия  
Дата: 24.10.18 07:13
Оценка:
Здравствуйте, Тёмчик, Вы писали:

Тё>Русский язык меня покидает Конечно же без цикла (и без временных переменных под индексы/указатели).


А аргументы функции reverse это не временные переменные?
Re[4]: Зачем просят перевернуть строку на интервью?
От: CreatorCray  
Дата: 24.10.18 15:36
Оценка:
Здравствуйте, Hobbes, Вы писали:

H>Только вот обычная строка в питоне — иммутабельная.

Значит либо бери необычную либо бери не питон.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Re[2]: Зачем просят перевернуть строку на интервью?
От: Pyromancer  
Дата: 25.10.18 07:56
Оценка:
Здравствуйте, rm822, Вы писали:

R>И чтобы этих баранов сразу выгнать, выбирается максимально простая, абсолютно стандартная задача, с минимумом возможных трактовок.


Так и при чем тут переворот строки? У этой задачи-то множество трактовок в зависимости от языка выполнения, типа строки и символов в ней; и простота соответственно от "10 минут студенту 1 курса" до "невозможно в рамках поставленых условий"
Re[3]: Зачем просят перевернуть строку на интервью?
От: 0xCAFEDEAD  
Дата: 26.10.18 05:36
Оценка:
Здравствуйте, Pyromancer, Вы писали:

P>Здравствуйте, rm822, Вы писали:


R>>И чтобы этих баранов сразу выгнать, выбирается максимально простая, абсолютно стандартная задача, с минимумом возможных трактовок.


P>Так и при чем тут переворот строки? У этой задачи-то множество трактовок в зависимости от языка выполнения, типа строки и символов в ней; и простота соответственно от "10 минут студенту 1 курса" до "невозможно в рамках поставленых условий"


Это не мешает выгонять баранов.

А вот кстати я тут подумал. А как перевернуть строку "in-place" j.l.String в Java?
Понятно, что это занятие абсолютно бессмысленное и вредное. Но разве не для этого мы здесь собрались?
Вот навскидку 3 варианта (один бредовее другого, даже пытаться проверять не хочется):
1) unsafe -> доступ к char[]
2) class redefinition for j.l.String, который приоткроет нам завесы
3) JNI/JVMTI присоска, которая делает это в С, надо только объект залочить от GC на время(забыл как)

Скорее всего любой из них просто все сломает наглухо. Интернированные строки как?

Есть еще идеи?
Изменение исходников, байткода не считается
Re[4]: Зачем просят перевернуть строку на интервью?
От: Stanislav V. Zudin Россия  
Дата: 26.10.18 06:32
Оценка:
Здравствуйте, 0xCAFEDEAD, Вы писали:

CAF>Это не мешает выгонять баранов.


CAF>А вот кстати я тут подумал. А как перевернуть строку "in-place" j.l.String в Java?

CAF>Понятно, что это занятие абсолютно бессмысленное и вредное.

Всё очень просто.
Превратить строку в массив байт, поиздеваться над массивом, а потом создать новую строку. Не совсем inplace, но задача решается ожидаемым способом.

А по-хорошему, надо взять алгоритмическую задачу сравнимой сложности, нативно решаемую на Яве.
_____________________
С уважением,
Stanislav V. Zudin
Re[5]: Зачем просят перевернуть строку на интервью?
От: 0xCAFEDEAD  
Дата: 26.10.18 06:34
Оценка:
Здравствуйте, Stanislav V. Zudin, Вы писали:

SVZ>Здравствуйте, 0xCAFEDEAD, Вы писали:


CAF>>Это не мешает выгонять баранов.


CAF>>А вот кстати я тут подумал. А как перевернуть строку "in-place" j.l.String в Java?

CAF>>Понятно, что это занятие абсолютно бессмысленное и вредное.

SVZ>Всё очень просто.

SVZ>Превратить строку в массив байт, поиздеваться над массивом, а потом создать новую строку. Не совсем inplace, но задача решается ожидаемым способом.

SVZ>А по-хорошему, надо взять алгоритмическую задачу сравнимой сложности, нативно решаемую на Яве.



Фуу, какая пошлость.
Re: Зачем просят перевернуть строку на интервью?
От: scf  
Дата: 26.10.18 07:00
Оценка: +1
Здравствуйте, Тёмчик, Вы писали:

Тё>и сколько времени можно на это потратить у доски?


Тё>Условие было такое: строка «один два три». Написать функцию на доске, чтобы поменять порядок символов внутри этой строки, не выделяя новой памяти (кроме временных переменных). Принимается ли решение через 15 минут?


Вот самое эффективное, дубовое и в то же время изящное решение:
    int i = 0;                 // first char
        int j = array.length - 1;  // last char
        char tmp;
        while (j > i) {
            tmp = array[j];
            array[j] = array[i];
            array[i] = tmp;
            j--;
            i++;
        }
Re[2]: Зачем просят перевернуть строку на интервью?
От: Тёмчик Австралия жж
Дата: 26.10.18 12:19
Оценка: :)
Здравствуйте, scf, Вы писали:

scf>Вот самое эффективное, дубовое и в то же время изящное решение:

scf>
scf>    int i = 0;                 // first char
scf>        int j = array.length - 1;  // last char
scf>        char tmp;
scf>        while (j > i) {
scf>            tmp = array[j];
scf>            array[j] = array[i];
scf>            array[i] = tmp;
scf>            j--;
scf>            i++;
scf>        }
scf>

Это и ожидалось. Я просто не могу понять, КАК обладатель бакалавра, honors и потом мастера в CS с опыиом тимлидера 20 минут рожал какую-то чушь и ждал подсказок.
Re[3]: Зачем просят перевернуть строку на интервью?
От: 0xCAFEDEAD  
Дата: 27.10.18 03:59
Оценка:
Здравствуйте, Тёмчик, Вы писали:

Тё>Здравствуйте, scf, Вы писали:


scf>>Вот самое эффективное, дубовое и в то же время изящное решение:

scf>>
scf>>    int i = 0;                 // first char
scf>>        int j = array.length - 1;  // last char
scf>>        char tmp;
scf>>        while (j > i) {
scf>>            tmp = array[j];
scf>>            array[j] = array[i];
scf>>            array[i] = tmp;
scf>>            j--;
scf>>            i++;
scf>>        }
scf>>

Тё>Это и ожидалось. Я просто не могу понять, КАК обладатель бакалавра, honors и потом мастера в CS с опыиом тимлидера 20 минут рожал какую-то чушь и ждал подсказок.

Ну что же ты такой непонятливый Это твое второе собеседование что ли ? Такое очент часто бывает, ну не программист он да и все. Куча людей, именующих себя программистами. не может перевернуть список, удалить элемент списка. Особо одаренные еще и возникают, что задача плохая, что на работе они списки не переворачивают. Что они и так круты, потому что умные слова выучили.

Не понимаю, зачем об этом задумываться, да еще и на форуме писать. Жги лучше про телочек и мотики
Re[2]: Зачем просят перевернуть строку на интервью?
От: rm822 Россия  
Дата: 27.10.18 11:36
Оценка:
scf>Вот самое эффективное, дубовое и в то же время изящное решение:
scf>
scf>    int i = 0;                 // first char
scf>        int j = array.length - 1;  // last char
scf>        char tmp;
scf>        while (j > i) {
scf>            tmp = array[j];
scf>            array[j] = array[i];
scf>            array[i] = tmp;
scf>            j--;
scf>            i++;
scf>        }
scf>


а теперь строка будет UTF-8
Re[4]: Зачем просят перевернуть строку на интервью?
От: IncremenTop  
Дата: 27.10.18 14:17
Оценка: :)
Здравствуйте, 0xCAFEDEAD, Вы писали:


CAF>Ну что же ты такой непонятливый Это твое второе собеседование что ли ?


Люди часто ошибаются в стрессовых ситуациях.


CAF> что задача плохая, что на работе они списки не переворачивают. Что они и так круты, потому что умные слова выучили.


Правильно ответили. Это означает, что вы не умеет проводить собеседования, да и в принципе решать задачи.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.