
Andrew
28.06.2018
15:23:57

Алексей
28.06.2018
15:24:13

Никита
28.06.2018
15:24:16

Aler
28.06.2018
15:24:30
http://fiddle.jshell.net/km56s081/35/show/light/

Google

Aler
28.06.2018
15:24:42
я просто показал, что возможно

Алексей
28.06.2018
15:24:57

Aler
28.06.2018
15:25:06
я еще и интерфейс заебашил чтобы вам удобнее было
для пущей эффективности и наглядности
сделайте N 100000

Andrew
28.06.2018
15:26:07

Aler
28.06.2018
15:26:17
ну нашел

Andrew
28.06.2018
15:26:21

Aler
28.06.2018
15:26:22
на втором шаге
там поставь другое значение N

Алексей
28.06.2018
15:27:19
а как замерить эту оценку?
я вообще "на глаз" замеряю, типа циклом прошлись - уже o(n), цикл в цикле - o(n^2), какой-то хитрый алгоритм, который туда-сюда скачет - o(log n) или o(n * log n)

Google

Aler
28.06.2018
15:27:55

Andrew
28.06.2018
15:28:07
На самом деле сайт вообще не адаптирован под мобилки

Aler
28.06.2018
15:28:18
инструментировать каждую иттерацию каунтером
и посмотреть чему равен
если stepCount == data.length
O(N)
ну и тд)

Andrew
28.06.2018
15:28:56

Aler
28.06.2018
15:29:18
ну я не останавливал, но это классический log n
это поиск по сортированному массиву же
традиционный алгоритм

Алексей
28.06.2018
15:30:01
бинарный поиск

Aler
28.06.2018
15:30:04
я кстати там ошибку допустил, но она незначительная
но sum(array) - length * ((length + 1) / 2) тоже клево
такое можно красиво в вайтпепере написать
а все эти алгоритмы сложно на формулы приложить
можно просто при сортировке считать сумму
тогда эффективно будет
(хотя можно и дубли ловить)

Google

Aler
28.06.2018
15:35:26
ну и настя мне рассказывала

Anastasia
28.06.2018
15:35:55
А если массив будет несортированный?

Aler
28.06.2018
15:36:08
если бы сразу с этого начала, тогда было бы веселее в чате)

Anastasia
28.06.2018
15:36:24
Числа, кроме одного из чисел, в нем повторяться не будут, но он будет несортированный

Aler
28.06.2018
15:36:45
но опять же
сумма это O(N), а перебор o(N)
или как там. В общем, точно N шагов или не больше N шагов
оптимальное решение будет зависить от размера датасета и доступной памяти на выполнение уже

Andrew
28.06.2018
15:38:01
Я понял что думать вредно, если знаешь про set

Aler
28.06.2018
15:38:08
если массив 100 - перебор
а если в массиве 17 петабайт цисел - сумма

Andrew
28.06.2018
15:38:36

Алексей
28.06.2018
15:38:38
блин, я забыл про O и o

Aler
28.06.2018
15:38:43
и заказчик

Алексей
28.06.2018
15:38:52
обычно алгоритмы всегда через O оценивают

Aler
28.06.2018
15:39:01
я точно не знаю про это
просто знаю в целом как это работает
у меня плохо с теорией

Google

Aler
28.06.2018
15:40:08
Обожаю программирование. Даже простую и по-сути энциклопедическую задачу можно развернуть в дискуссию и битву

Алексей
28.06.2018
15:40:29

Aler
28.06.2018
15:40:30
Сейчас еще Никита придет и будет за квантовое вычисление топить
Я про то, что в случае перебора у нас будет количество шагов от 1 до N
а в сумме всегда N

Алексей
28.06.2018
15:41:32
?
там главное чтобы замедленее быстродейтсвия было линейным
ааа

Andrew
28.06.2018
15:41:36

Алексей
28.06.2018
15:41:40
это я видимо не про это

Aler
28.06.2018
15:42:02
Тета(N) значит
а в переборе O(N)
Настя все знает
не даром же она СТО

Алексей
28.06.2018
15:42:35
в переборе для этой задачи конечно же
просто обычно перебор приводит к экспоненциальной сложности или к факториалу там

Anastasia
28.06.2018
15:43:26
Только что на перекуре обсуждали сложность алгоритмов, картинка с перекура
Мотороллер не мой

Aler
28.06.2018
15:43:41
на-то он и перебор жи

Google

Алексей
28.06.2018
15:44:07

Aler
28.06.2018
15:44:13
нет же
в каких случаях перебор может дать что-то отличное от N?

Алексей
28.06.2018
15:44:41

Aler
28.06.2018
15:44:47
N == length

Никита
28.06.2018
15:45:23
У вас алгоритм головного мозга

Алексей
28.06.2018
15:45:29
то есть N - это размерность входных данных?

Aler
28.06.2018
15:45:40
перебор может быть полный и прерываемый. Полный это .map, .reduce, .filter и тд

Алексей
28.06.2018
15:45:51
стоп, я чёт напутал

Aler
28.06.2018
15:45:52
а прерываемые .indexOf .first .any

Алексей
28.06.2018
15:46:39
я с этим перепутал: https://ru.wikipedia.org/wiki/%D0%9F%D0%BE%D0%BB%D0%BD%D1%8B%D0%B9_%D0%BF%D0%B5%D1%80%D0%B5%D0%B1%D0%BE%D1%80

Aler
28.06.2018
15:46:59
ну, кстати, тут я виноват
забыл что говорю с пидаром (математиком)

Алексей
28.06.2018
15:47:24

Andrew
28.06.2018
15:47:33

Алексей
28.06.2018
15:47:38
полный перебор и в программировании встречается

Aler
28.06.2018
15:47:52
у нас это называют подбором или брутом