@proelixir

Страница 365 из 1045
Dmitry
25.02.2017
19:08:25
Вот ты получаешь на n/2 итерации число n+2 Куда его ставить?

Aldar
25.02.2017
19:08:56
на первой итерации заменить n+1 и n+ 2 на -1

Marat
25.02.2017
19:08:56
Нет в тот же самый. Ща попробую накидать на js, может правда туплю

Can
25.02.2017
19:09:18
Но это доп память

Google
Can
25.02.2017
19:09:18
А если в этот же

То надо сделать что то с числом

Которое сейчас на 100 месте стоит

Aldar
25.02.2017
19:09:25
если n+1 нету, то оно одно из искомых и дальше все очевидно

Dmitry
25.02.2017
19:09:25
Чисто пример 2 0 4

Сперва ты берёшь 2 и ставишь его вместо 4

Потом ты берёшь 4 и че?

Ответ в задаче - 1,3

Aldar
25.02.2017
19:11:07
if(a[i] != i) { swap(a[i], a[a[i]]) }

и так два раза пройтись

ну еще игнорировать -1

в итоге на месте чисел со значением -1 получим искомые

допустим массив размера 5, в нем есть число 7

Google
Aldar
25.02.2017
19:13:15
ищем 6 и 7 заменяем их на -1

если нет 6 то оно одно из искомых

ну и дальше два раза проходим и ставим числа на свои места

там где будут числа со значением -1 - индексы являются ответом

Dmitry
25.02.2017
19:15:33
Так как ты заснуешь число если он за границей массива?

Aldar
25.02.2017
19:16:31
оно не будет за границей массива

потому что 7 и 6 там нет

Dmitry
25.02.2017
19:16:47
Вообще говоря такое работает

Aldar
25.02.2017
19:16:56
ну и на -1 проверять

не забывать

Dmitry
25.02.2017
19:17:02
Только надо 3 прохода и 3 доп переменные

Aldar
25.02.2017
19:17:16
да, но время линейное и память константная

Евгений
25.02.2017
19:18:38
адепты Plug, кто-нибудь вкручивал Ueberauth?

Dmitry
25.02.2017
19:18:45
2 0 4 -1 -1 4 0 2 -1 -1 0 4 2 -1 -1 0 4 2 -1 -1 Второй 0 4 2 -1 -1 0 -1 2 -1 4 0 -1 2 -1 4 И третий чтобы подобрать индексы

Aldar
25.02.2017
19:21:13
только недостаток в том что алгоритм сложнее если выкинуть больше 2х чисел

Can
25.02.2017
19:21:29
Хм

Что то не понел

Вроде дельно

Dmitry
25.02.2017
19:21:49
Ща сделаю питон

Can
25.02.2017
19:21:50
Но что то здесь не так)

Google
Dmitry
25.02.2017
19:22:11
И потестим

Aldar
25.02.2017
19:22:14
да все так

суть в том что для чисел не больше n мы знаем их позицию в отсортированном массиве

а если число больше n, то нам надо его как то обработать

поэтому и сортировка линейная

anton
25.02.2017
19:26:06
а хотите еще больше усложню? :)

N может быть больше чем int.maxValue

Aldar
25.02.2017
19:26:36
у нас пистон)

Alexey
25.02.2017
19:26:47
есть числа от 1 до N. два выкинули, все перемешали. память пользовать нельзя, решить за N/1000

Dmitry
25.02.2017
19:28:37
есть числа от 1 до N. два выкинули, все перемешали. память пользовать нельзя, решить за N/1000
Могу решить за константное время с вероятностью (С из N по 2)^-1

Aldar
25.02.2017
19:29:43
N/1000 это что?

Dmitry
25.02.2017
19:29:43
def solve, do: {0,1}

Alexey
25.02.2017
19:29:49
время решения должно быть кратно 5min*n где n множество чисел не упорядоченных по не возрастанию, натуральных чисел

задача не ясная какая-то

Dmitry
25.02.2017
19:30:48
Короче в падлу петон, завтра сделаю

Alexey
25.02.2017
19:30:56
что можно, что нельзя. зачем всё это, все равно все умрем

на фоне всего этого, почему-то есть вот язык программирования, но в нем что-то нельзя

anton
25.02.2017
19:32:03
есть числа от 1 до N. два выкинули. вобщем объяснять некогда. дедлайн вчера.

Dmitry
25.02.2017
19:33:36
Есть число от 1 до N. Дедлайн выкинули, два числа перемешали. Массив вчера

Alexey
25.02.2017
19:34:43
ну просто я пытаюсь представить эту ситуацию. приходишь такой на завод. тебя срочно вызывает директор производство. пара мастеров пришло. продажники прискакали. отгрузка по контракту там горит. и тебе так говорят "нам срочно вот надо найти два числа из множества. но только надо чтоб за константную память"

Google
Aldar
25.02.2017
19:35:53
нынче в индустрии принято подобные задачи на собесах задавать

Dmitry
25.02.2017
19:35:56
Леща(

Alexey
25.02.2017
19:35:57
ты такой, ну может как-то мы как-то потратим всетаки память и решим задачу? нет! пы приняли санкции против производителей оперативной памяти и не имеем права использовать ОЗУ. иначе нас всех закроют

если ты пришел собеседовать компанию и они тебе начинают такие вопросы задавать, просто говоришь, что они тебе не подходят

Aldar
25.02.2017
19:36:51
ну когда у тебя миллионы серверов, то код производительнее на 1% экономит миллионы долларов - то нужны разработчики которые задрачивают подобные задачи

Alexey
25.02.2017
19:37:31
тут где-то статья была про вреждевременную кхм

оптимизацию

Dmitry
25.02.2017
19:38:18
Postgres летает, nginx отдрочен как хрен, а твой ActiveRecord делает select * а потом фильтрует(((

На каждую оптимизацию в 1% найдётся свой Джуниор

Admin
ERROR: S client not available

anton
25.02.2017
19:39:54
за константную память и еще памяти дают каких-нибудь 500Кб и ты думаешь - фублять, жлобы чёртовы (у самого то макбук и 16 гиг ОЗУ) и посылаешь их подальше.

Alexey
25.02.2017
19:40:08
подтверждаю. Mysql 10 лет назат на сраном селероне, с 256 памяти, при правильно расставленых индексах, чудесно решал бизнес задачу, где надо было выбирать из 10М записей 250 штук. и нормально укладывался в 0.01с, что даже на глаз затупа было не заметна. и смешно. было на дельфях. и до сих пор работает на реальном производстве

Aldar
25.02.2017
19:40:16
поэтому яндекс и гугл юзают цпп и требуют знания алгоритмов

Alexey
25.02.2017
19:40:21
а вот такие сферические задачи - мне не ясно. что там за последовательность такая и для чего

любой уважающий себя программист знает классичесие алгоритмы. а уж про тех, у кого опыт всяких там кружков и ВО, говорить не буду. вдруг обижу кого

Aldar
25.02.2017
19:42:40
знания алгоритмов именно в контексте таких сферических задачек

Alexey
25.02.2017
19:43:09
я не знаю, как там в гуглах. я по жизни на производствах работал. а там базы данных. либо производственные, либо булгактерские. и там нет никакого смысла выдумывать какую-то хрень. самое главное освоить SQL

anton
25.02.2017
19:43:09
а нафига оно надо-то? задачи на практике чаще всего значительно отличаются от этих сферических ;)

Aldar
25.02.2017
19:43:22
какому нить стартапу конечно это не нужно, или в вебчике

Google
Alexey
25.02.2017
19:43:56
а если что-то очень серьезное, типа сборки изделий. которые имеют иерархии типа 30х уровней. то там как раз знания алгоритмов и вылезают. кто их не знает, тот и не может написать

anton
25.02.2017
19:44:08
какому нить стартапу конечно это не нужно, или в вебчике
так в том и парадокс, я кидал ссылку про "неадекватное интервью" идешь веб пилить - тебя спрашивают про задачу про обход шахматной доски конем. какую из этого пользу то извлечь можно?

Alexey
25.02.2017
19:44:10
сам наблюдал такое. ну вот не умеет человек рекурсию. и все.

сборку не сделает

anton
25.02.2017
19:44:41
сам наблюдал такое. ну вот не умеет человек рекурсию. и все.
чтобы понять рекурсию нужно понять рекурсию нужно понять рекурсию

у гугла раньше хорошая пасхалочка была.. жаль убрали

Alexey
25.02.2017
19:45:47
а кому-то не надо

я тут на хабре статью запилил. где на эликсире пару функций рекурсивных написал

Dmitry
25.02.2017
19:46:13
чтобы понять рекурсию нужно понять рекурсию нужно понять рекурсию
...Нужно понять рекурсию, нужно понять ре... Programm Stack overflow(

Alexey
25.02.2017
19:46:36
ну там это классика, как бы. но меня засрали. я оказался не прав. надо было не мозгами пользоваться, а гуглом. потому что либа такая есть, которая все это делает

anton
25.02.2017
19:46:37
...Нужно понять рекурсию, нужно понять ре... Programm Stack overflow(
поэтому мы за хвостовую рекурсию! и за её оптимизацию :)

Alexey
25.02.2017
19:46:51
+1

Dmitry
25.02.2017
19:47:23
https://github.com/rust-lang/rust/issues/217

Alexey
25.02.2017
19:47:58
и я вот даже не знаю, стоит ли обижаться. ведь велосипеды сейчас писать не надо. а надо решать задачи. к тому же либа готовая есть.

anton
25.02.2017
19:48:30
https://github.com/rust-lang/rust/issues/217
бедняги.. ну может оно им не надо. кайфуют с циклов

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

у нас как-то на работу взяли олимпиадника одного, только он месяц мычал и не мог раздуплить core data с блютусом под ios

Viktor
25.02.2017
19:51:33
бывает и такое

Alexey
25.02.2017
19:52:11
воот. есть о чем задуматься! и ты такой бамсь, и решил производственный вопрос, свел все данные в отчет. руководство получило результаты. как на приборной доске в машине. данные для принятия решения. и все счастливы. а на дельфи ты там решил или на Go, или на FoxPro - это все вообще побоку

какой там у тебя алгоритм. предполагаю, что знания библиотек тут быстрее поможет

так что решать от 1 до N это все как бы....

anton
25.02.2017
19:53:02
не, решать то прикольно, для себя, мозги потренировать

а вот на собеседовании такое спрашивать - нафиг надо

Страница 365 из 1045