Medici- #4401 19 июля 2019 (изменено) нужно реализовать такую хуйню:есть документ содержащий сущности с айдишниками, есть кнопка "утвердить", пользователь нажимает утвердить и перед утверждением должна пройти проверка айдишников во внешней системепроверка может занять около часа, кнопка "утвердить" хайдится и появляется надпись о статусе проверки (в процессе\завершено), в это время пользователь может дальше работать думаю сделать таблицу с проверками (айди проверки, айди документа, статус проверки(в процессе\завершено), еще чонить) что скажете?Составляешь очередь из проверок в базе.Пишешь крон с проверкой раз в 5–10 минут и потом охуеваешь от нагрузки. Изменено 19 июля 2019 пользователем Medici- Ramil и Feanaro понравилось это Поделиться сообщением Ссылка на сообщение
sonac #4402 19 июля 2019 можно в редисе тоже сделать, если он у вас уже для чего-то юзается. если это безболезненно - можно добавить колонку в таблицу с твоими сущностями. можно так как ты написал. Ramil понравилось это Поделиться сообщением Ссылка на сообщение
Ramil #4403 19 июля 2019 нужно реализовать такую хуйню:есть документ содержащий сущности с айдишниками, есть кнопка "утвердить", пользователь нажимает утвердить и перед утверждением должна пройти проверка айдишников во внешней системепроверка может занять около часа, кнопка "утвердить" хайдится и появляется надпись о статусе проверки (в процессе\завершено), в это время пользователь может дальше работать думаю сделать таблицу с проверками (айди проверки, айди документа, статус проверки(в процессе\завершено), еще чонить) что скажете?Составляешь очередь из проверок в базе.Пишешь крон с проверкой раз в 5–10 минут и потом охуеваешь от нагрузки. что за очередь что за крон? javascript:void(0); Поделиться сообщением Ссылка на сообщение
Just.Doit #4404 19 июля 2019 нужно реализовать такую хуйню:есть документ содержащий сущности с айдишниками, есть кнопка "утвердить", пользователь нажимает утвердить и перед утверждением должна пройти проверка айдишников во внешней системепроверка может занять около часа, кнопка "утвердить" хайдится и появляется надпись о статусе проверки (в процессе\завершено), в это время пользователь может дальше работать думаю сделать таблицу с проверками (айди проверки, айди документа, статус проверки(в процессе\завершено), еще чонить) что скажете?Составляешь очередь из проверок в базе.Пишешь крон с проверкой раз в 5–10 минут и потом охуеваешь от нагрузки. индекс на статус и выборку батчами только по незавершеннымбудет работать как часы, отвечаю очень крутые котейкиКому-то пизды дал - нужно сделать скрин обязательно. (с) Solo Поделиться сообщением Ссылка на сообщение
FeelYourDestiny #4405 19 июля 2019 нужно реализовать такую хуйню:есть документ содержащий сущности с айдишниками, есть кнопка "утвердить", пользователь нажимает утвердить и перед утверждением должна пройти проверка айдишников во внешней системепроверка может занять около часа, кнопка "утвердить" хайдится и появляется надпись о статусе проверки (в процессе\завершено), в это время пользователь может дальше работать думаю сделать таблицу с проверками (айди проверки, айди документа, статус проверки(в процессе\завершено), еще чонить) что скажете?Составляешь очередь из проверок в базе.Пишешь крон с проверкой раз в 5–10 минут и потом охуеваешь от нагрузки. что за очередь что за крон? а крон бывает разным? Поделиться сообщением Ссылка на сообщение
Colorez #4406 19 июля 2019 (изменено) https://imgur.com/HMiZF5g Можно ли сделать быстрее N * log(N)? Изменено 19 июля 2019 пользователем Colorez Поделиться сообщением Ссылка на сообщение
Ramil #4407 19 июля 2019 нужно реализовать такую хуйню:есть документ содержащий сущности с айдишниками, есть кнопка "утвердить", пользователь нажимает утвердить и перед утверждением должна пройти проверка айдишников во внешней системепроверка может занять около часа, кнопка "утвердить" хайдится и появляется надпись о статусе проверки (в процессе\завершено), в это время пользователь может дальше работать думаю сделать таблицу с проверками (айди проверки, айди документа, статус проверки(в процессе\завершено), еще чонить) что скажете?Составляешь очередь из проверок в базе.Пишешь крон с проверкой раз в 5–10 минут и потом охуеваешь от нагрузки. что за очередь что за крон? а крон бывает разным? https://ru.wikipedia.org/wiki/Cron это что ли? FeelYourDestiny понравилось это javascript:void(0); Поделиться сообщением Ссылка на сообщение
dfgrd #4408 19 июля 2019 https://ibb.co/QNmWBwB Можно ли сделать быстрее N * log(N)?На первый взгляд тут можно сделать за n Поделиться сообщением Ссылка на сообщение
choojoykin #4411 19 июля 2019 у меня вообще нихуя не грузится.там была задачка типаесть массив целых чиселзадача найти минимальное положительное число > 0 которого нет в массивевроде тактипа [1,2,4,5] => 3[-2, -1] => 1 ни мало ни много, а много и мало Поделиться сообщением Ссылка на сообщение
JuJeu #4412 19 июля 2019 (изменено) Изменено 19 июля 2019 пользователем JuJeu Saying that Java is nice because it works on all OS's is like saying that anal sex is nice because it works on all genders. Поделиться сообщением Ссылка на сообщение
Pep_See #4413 19 июля 2019 (изменено) new.pngКроме быстрой сортировки и поиска типаIf (A>0){If (A[i+1]-A)>1) Return A+1}ElseReturn 1 В голову нихуя не приходитНо быстрая сортировка это уже logN так що хзУчитывая, что быстрая сортировка хорошо работает с распараллеливанием и является одной из самых эффективных, считаю что норм решение. Только сортировку в многопоточке расписать надо и все. А, ну и со мной повторно не связались, так что я пока не вайтишник. Изменено 19 июля 2019 пользователем Pep_See choojoykin понравилось это pepehands Поделиться сообщением Ссылка на сообщение
DDamager #4414 19 июля 2019 (изменено) за О(n) по времени и O(n) памяти Для массива A размера N ответ X всегда будет либо X = N + 1 если массив заполнен рядом натуральных чисел 1...N, либо X < N в ином случае.Это значит что мы можем создать булевый массив V размера N в котором отмечать какие числа мы встречали в массивеПроходим по массиву А и сетим флаги в V: if (A > 0 && A <= N) V[A - 1] = trueЕсли массив A был заполнен рядом 1..N то все флаги будут true и мы вернем N + 1, иначе вернем j + 1, где j это минимальный индекс где V[j] = false Наверное можно поизвращаться чтобы память не выделять а вместо этого модифицировать начальный массив, но это такое Изменено 19 июля 2019 пользователем DDamager Поделиться сообщением Ссылка на сообщение
Pep_See #4415 19 июля 2019 за О(n) по времени и O(n) памяти Для массива A размера N ответ X все будет либо X = N + 1 если массив заполнен рядом натуральных чисел 1...N, либо X < N в ином случае.Это значит что мы можем создать булевый массив V размера N в котором отмечать какие числа мы встречали в массивеПроходим по массиву А и сетим флаги в V: if (A > 0 && A <= N) V[A - 1] = trueЕсли массив A был заполнен рядом 1..N то все флаги будут true и мы вернем N + 1, иначе вернем j + 1, где j это минимальный индекс где V[j] = false Наверное можно поизвращаться чтобы память не выделять а вместо этого модифицировать начальный массив, но это такое Тоже думал, насчёт сравнения с булевым массивом, но показалось, что все же необходимо отсортировать и действовать. Условие, конечно, неприятное, т.к. и значения могут повторяться, и массив не отсортирован. pepehands Поделиться сообщением Ссылка на сообщение
Kant #4416 19 июля 2019 уж лучше сортануть сто тысяч чем массив на 2 ляма делать имхо учитывая, что это задачка, явно должно быть решение получше сортировки и жора памяти Торжество разума в том, чтобы уживаться с теми, у кого этого разума нет. Вольтер.Чтобы хорошо высыпаться, нужно спать 8 часов в день. И еще столько же ночью. Поделиться сообщением Ссылка на сообщение
DDamager #4417 19 июля 2019 уж лучше сортануть сто тысяч чем массив на 2 ляма делать имхо учитывая, что это задачка, явно должно быть решение получше сортировки и жора памяти 1) О(N) памяти это не жор2) N в условии до 100к максимум3) даже 2 ляма интов это 8 мб памяти4) можно модицицировать решение для О(1) памяти но тогда нужно менять состояние входного массива в ходе решения, а это плохо по дефолту Поделиться сообщением Ссылка на сообщение
Kant #4418 19 июля 2019 100к в условии это размер массивау тебя же бул на каждое число Торжество разума в том, чтобы уживаться с теми, у кого этого разума нет. Вольтер.Чтобы хорошо высыпаться, нужно спать 8 часов в день. И еще столько же ночью. Поделиться сообщением Ссылка на сообщение
DarkseiD #4419 19 июля 2019 (изменено) Держите парни) Алгоритм O(2*n), space O(n). int min = -1; for integer in array { set.put(integer); if integer > 0 { min = Math.min(min, integer); } } if min > 1 { return 1; } int current = min; while (set.contains(current)) { current++; } return current; Изменено 19 июля 2019 пользователем DarkseiD Поделиться сообщением Ссылка на сообщение