Я помню в 14 лет пришел в контору собеседоваться. Они так снисходительно, у нас информационная система, нужно хранение документов, редактирование, доступ с любого компьютера. Как будешь делать? Я говорю, ну, хранить в XML, отдавать буду HTML (как раз только начал интересоваться вебом). Они — хаха! Да нет друг, здесь база данных нужна, Delphi. Вот ты знаешь что такое реляция? Переспрашиваю: корелляция? — Нет, ре-ля-ция. — Не знаю. — Ну иди гуляй.
А сейчас ни один человек в здравом уме не станет делать это на Delphi. С MySQL на нужном им уровне я научился работать за день. Толку от того, что я знал бы как это называется. Главное по сути понимать, или уметь освоить.
Никто не умеет всего. Если человек делает сайты даже, ему нужно решать алгоритмические задачи посложнее двоичного поиска. Хорошо ли он их решает? Как узнать? Сравнить не с чем. А тут просто, пишешь за 5 минут, сравниваешь свою реализацию с классической, оцениваешь свой уровень.
Совсем не странная идея, если не подходить к этому как к упражнению или к тесту.
Да, вот это оно :)
А если еще while перенести наверх, то этот if не нужен: if (pos >=0 && pos < arr.length), и получаем почти классическое решение. В классическом еще защита от переполнения целого тут: pos = Math.floor((start+end)/2);
Это типа умный прагматичный подход?
Вот скажем, я хочу взять программера на задачи по коллаборативной фильтрации. Хочу знать, годен ли он. Или лучше — он хочет знать, потянет ли он. Что ему, бесплатно потратить неделю своего времени на реализацию практической задачи? Нет конечно. А вот такие игрушечные задачи прекрасно позволяют оценить уровень.
На вот таком массиве повиснет: [1,2]
У меня то же самое было, а потом еще долго думал над костылем. Правильное решение красиво в этом смысле, там без костыля.
Мм, это не совсем двоичный поиск. У вас просто одна из границ плавно ползет к искомому числу, как если бы вы листали в словаре страницы. А здесь именно нужно именно на каждом шаге брать половину от предыдущего набора. Сначала есть весь массив, на слеющем шаге остается половина, потом четвертина, восьмерина. То есть: ...else if(arr[k] < num) j = k;
Серега, я тоже думал что напишу. Вот написал. Конечно, если пишешь его по 10 разу то никаких проблем не будет. Пост для тех, кто не писал двоичный поиск, но считает себя годным программистом.
«Есть идеи, которые стали очевидными после своего запуска. Точно также как и Facebook в 2004 году: оригинальная идея стартапа, вначале может быть не похожа на конечный результат. Теперь мы знаем, идея Facebook была очень успешной, но что он представлял из себя в 2004 году — ввод профиля студентов, статус онлайн, не так уж и много, чтобы вырос мощный стартап.»
И мой вариант:
«Очевидные идеи повсюду. Причина, по которой вы их не замечаете, та же самая, почему вы не заметили идею Фейсбука в 2004: органичные идеи стартапов поначалу вовсе не выглядят как идеи стартапов. Теперь мы знаем, что Фейсбук оказался очень успешным, но вернитесь в 2004. Выложить в онлайн информацию о студентах — не очень-то похоже на идею стартапа.»
Опера показывала цифирки, какая скорость скачивания и сколько уже скачано. Вот так сидишь на 14kbps, и любуешься. А какие были альтернативы? IE — тормоз еще тот.
> MonoTouch стал поддерживать новую SDK(прошлую новую) через 24 часа после релиза.
Похвально, но вы на месте Apple доверились бы им, или предпочли бы сами рулить ситуацией?
> разработчики мягко сказать негодуют от такого поворота событий
Интересно, как много из обсуждающих действительно разработчики? Я не разработчик. А разработчики и раньше негодовали, каждую неделю на HN всплывает очередное «I'm quitting iPhone development». То было из-за процедуры утверждения, и то была значительно большая проблема, потому что умом было не понять.
Вот вывод разработчика комментарием ниже: «И если эппл и хочет, как написано в этой статье, завоевать будущий гигантский и самый главный рынок мобильных гаджетов, то я рискну сделать ставку на них. И это не голый фанатизм, это голый расчет )»
Борцы за права разработчиков уйдут на другие платформы, а сами разработчики останутся. Массовый исход — это из области фантастики. Интересно одно — сговнякается ли Apple, когда добьется своего. Видно, что они уже зубы показывают разработчикам. Начнут ли показывать пользователям.
А сейчас ни один человек в здравом уме не станет делать это на Delphi. С MySQL на нужном им уровне я научился работать за день. Толку от того, что я знал бы как это называется. Главное по сути понимать, или уметь освоить.
Совсем не странная идея, если не подходить к этому как к упражнению или к тесту.
А если еще while перенести наверх, то этот if не нужен: if (pos >=0 && pos < arr.length), и получаем почти классическое решение. В классическом еще защита от переполнения целого тут: pos = Math.floor((start+end)/2);
Вот скажем, я хочу взять программера на задачи по коллаборативной фильтрации. Хочу знать, годен ли он. Или лучше — он хочет знать, потянет ли он. Что ему, бесплатно потратить неделю своего времени на реализацию практической задачи? Нет конечно. А вот такие игрушечные задачи прекрасно позволяют оценить уровень.
У меня то же самое было, а потом еще долго думал над костылем. Правильное решение красиво в этом смысле, там без костыля.
«Есть идеи, которые стали очевидными после своего запуска. Точно также как и Facebook в 2004 году: оригинальная идея стартапа, вначале может быть не похожа на конечный результат. Теперь мы знаем, идея Facebook была очень успешной, но что он представлял из себя в 2004 году — ввод профиля студентов, статус онлайн, не так уж и много, чтобы вырос мощный стартап.»
И мой вариант:
«Очевидные идеи повсюду. Причина, по которой вы их не замечаете, та же самая, почему вы не заметили идею Фейсбука в 2004: органичные идеи стартапов поначалу вовсе не выглядят как идеи стартапов. Теперь мы знаем, что Фейсбук оказался очень успешным, но вернитесь в 2004. Выложить в онлайн информацию о студентах — не очень-то похоже на идею стартапа.»
Эх, все равно уже не буду выкладывать.
Да, есть такой риск. Вот это и будет интересно проследить. Так боролись за свой кусок, что не заметили как мир ушел дальше. То же самое с Microsoft.
Похвально, но вы на месте Apple доверились бы им, или предпочли бы сами рулить ситуацией?
> разработчики мягко сказать негодуют от такого поворота событий
Интересно, как много из обсуждающих действительно разработчики? Я не разработчик. А разработчики и раньше негодовали, каждую неделю на HN всплывает очередное «I'm quitting iPhone development». То было из-за процедуры утверждения, и то была значительно большая проблема, потому что умом было не понять.
Вот вывод разработчика комментарием ниже: «И если эппл и хочет, как написано в этой статье, завоевать будущий гигантский и самый главный рынок мобильных гаджетов, то я рискну сделать ставку на них. И это не голый фанатизм, это голый расчет )»
Борцы за права разработчиков уйдут на другие платформы, а сами разработчики останутся. Массовый исход — это из области фантастики. Интересно одно — сговнякается ли Apple, когда добьется своего. Видно, что они уже зубы показывают разработчикам. Начнут ли показывать пользователям.