@proelixir

Страница 364 из 1045
Can
25.02.2017
18:33:17
За линейное время и за константную доп память

Aldar
25.02.2017
18:33:20
массив получается c n-2 элементами

Alexander
25.02.2017
18:34:22
2 прохода это тоже линейное время

Aldar
25.02.2017
18:34:39
за один проход нужно?

Google
Dmitry
25.02.2017
18:39:09
0..n |> Enum.reject(&(Enum.member?(shuffled, &1)) за сколько работает? За n^2 ??

Aldar
25.02.2017
18:40:33
похоже на то

Dmitry
25.02.2017
18:41:33
Осталось найти решение за C^n

Aldar
25.02.2017
18:42:08
за линейное время достаточно просто, а вот за один проход с константной памятью

Alexander
25.02.2017
18:43:25
первый проход - строим хэш с ключами от 1 до N второй идём по данным, выкидываем из хэша попавшиеся ключи оставшиеся невыкинутыми ключи в хэше искомые

как за один, непонятно

Can
25.02.2017
18:45:00
Ну

Один или два прохода не принципиально

Это линейное время

Проблема что словарь нельзя

Это не константная доп память

Константная - это несколько переменных все из которых ты будешь знать заранее

На этапе компиляции грубо говоря

Google
Dmitry
25.02.2017
18:46:11
А если идти по индексам значений?

Alexander
25.02.2017
18:46:57
Массив рамером N - константная память

Dmitry
25.02.2017
18:47:04
Ща из толчка выду - бумажку возьму

Alexander
25.02.2017
18:47:08
вместо ключей словаря - индексы в массиве

Can
25.02.2017
18:47:26
Так не

Dmitry
25.02.2017
18:47:28
Массив N - не константная, а линейная память

Can
25.02.2017
18:47:36
Размером n то константная

Если ты знаешь н

Давай чтобы проще было скажу что читаем массив из файла

И вся остальная память кроме этого массива должна быть константная

По индексам значений идти интересно но решения в этой стороне я не вижу

Может оно там есть

Marat
25.02.2017
18:50:44
Это линейное время
Линейное время это же время которое увеличивается с размером входных данных, разве нет?

Can
25.02.2017
18:51:11
Ну да

Как раз проход

Или два прохода

Это оно и есть

N проходов по массиву длины N

Это уже не линейное время

А квадратичное

Google
Aldar
25.02.2017
18:52:44
так отсортировать можно за линейное время наверное

Can
25.02.2017
18:53:38
Неа

Сортировка лучшая это n*log n

Aldar
25.02.2017
18:54:18
если n чисел в массиве n размера размешаны

от 1 до n

мы можем для каждого числа сразу его место определить

Can
25.02.2017
18:55:26
И запомнит

Да

Будет доп память

Не подходит

Aldar
25.02.2017
18:55:38
зачем запоминать

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

Alexander
25.02.2017
18:57:25
угу, это красиво

Dmitry
25.02.2017
18:57:27
Короче говоря, для одной переменной: N - Сумма разностей индекса элемента и значения

Не спрашивайте как я это посчитал

Can
25.02.2017
18:58:11
Сумма разностей и

Dmitry
25.02.2017
18:58:32
К примеру 3 0 1

Тогда n = 4

Can
25.02.2017
18:59:14
Ну да

Dmitry
25.02.2017
18:59:22
И тд

Google
Can
25.02.2017
18:59:30
Это правда

Типа сумма чисел от 1 до н

Сумма индексов от 0 до н-1

Dmitry
25.02.2017
18:59:52
По сути то же самое

Can
25.02.2017
18:59:57
Сумма разностей н

Все верно

Но это ток для одного работает

Dmitry
25.02.2017
19:00:48
Да, в том то и дело (

Короче, есть Варик считать все что возможно

Нафигачить тестовых данных, однословный персепторнчик

Admin
ERROR: S client not available

Dmitry
25.02.2017
19:03:25
А потом погонять и посмотреть что сильнее всего влияет

Can
25.02.2017
19:03:26
)

Не

Персептрончик только в линейно разделимые данные умеет

Рандомно перемешанные числа не линейно разделимы

Marat
25.02.2017
19:04:27
проходим по массиву два раза и ставим числа на нужные места

А почему вот это не подходит?

Aldar
25.02.2017
19:04:43
нужно найти числа n+ 1, n+ 2 и удалить и вместо них записать -1, а потом пройтись еще два раза и расставлять числа на индекс соответствующий значению числа, и пропускать -1

Can
25.02.2017
19:04:44
Потому что общо слишком

Google
Can
25.02.2017
19:04:48
Не алгоритм это

Не получается так

Alexander
25.02.2017
19:04:57
очень даже алгоритм

Can
25.02.2017
19:05:03
Ты не знаешь какие числа куда ставить

Ну тут ответ универсальный

Попробуй заполнить

Запрогать

Увидишь)

Alexander
25.02.2017
19:05:26
Ща

Marat
25.02.2017
19:05:39
То есть берем первое число, ставим его на его место по индексу, оттуда берем что было и ставим тоже на его место и тд

Can
25.02.2017
19:05:53
Это ты сортировку описываешь

У тебя вылезут н проходов

А не 2 прохода

Aldar
25.02.2017
19:06:34
кто?

Can
25.02.2017
19:06:34
Потому что ты не знаешь кккие числа ставить на место пока все не поставишь

Aldar
25.02.2017
19:07:15
вот смотри

у тебя массив размера n

Dmitry
25.02.2017
19:07:38
Не получается

Так

Marat
25.02.2017
19:07:42
То есть 100 мы ставим на индекс 100

Aldar
25.02.2017
19:07:50
макс число в нем n+ 2

Marat
25.02.2017
19:08:05
a[100]=100

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