1. 9 мес. назад

    Почему оператор goto считается быдлокодингом?

    Ответы: (2) (26) (93)
  2. ‹ Ранее
  3. 3 мес. назад

    Эльниньо Для начала проверим вхождение самой маленькой строки в остальные строки

    Напиши это в виде программы. И что будешь делать если она не входит в остальные строки.

    Ответы: (433)
  4. ТеньД Страдает, как минимум, читаемость кода. Скорее всего просядет быстродействие.

    По быстродействию ровно наоборот.
    Возьмём небольшой массив 1000,1000,1000,1000
    Сколько лишних проверок выполнит твой код?
    около 1000000000000 в случае, если необходимое значение окажется в конце.
    А значит применение goto просто необходимо при больших массивах

    Ответы: (453)
  5. webdev что будешь делать если она не входит в остальные строки.

    Возьму бубен

    Ответы: (435)
  6. webdev по какому критерию оптимальнее? По памяти или быстродействию или красоте кода?

    sda553 на этот вопрос еще не ответил

    Ответы: (437)
  7. Эльниньо Возьму бубен

    Напиши программу

    Ответы: (436)
  8. webdev Напиши программу

    Это твой подход - не продумав, не составив ТЗ, сходу начать ваять?
    И почему я не удивлён?

    Ответы: (446)
  9. 07.02.2020 19:55:28 отредактировано sda553

    (434) хотелось бы, чтобы сложность алгоритма была О(n).
    По крайней мере я знаю такое решение.
    Но если что, могу сделать скидку до O(n^3)

    Ответы: (447)
  10. webdev Это яркий пример, сколько боли доставляет использование оператора FOR. Что даже GOTO приходится использовать. Жесть

    Напиши поиск нужного значения в четырёхмерном массиве без For

    Ответы: (449)
  11. 07.02.2020 20:06:35 отредактировано sda553

    Если что О(n) означает, что алгоритм выполнит задачу за один обход данных. (Или константное количество обходов, тк такое можно свести к одному обходу)
    О(n^2) потребуется обход данных, внутри которого будет еще один вложенный обход тех же данных. И тд

    Ответы: (441) (471)
  12. Бывают алгоритмы О(log(n)) где даже не требуется обходить все данные. Например алглритм поиска значения в отсортированном списке

    Ответы: (444)
  13. sda553 Если что О(n) означает, что алгоритм выполнит задачу за один обход данных. (Или константное количество обходов, тк такое можно свести к одному обходу)
    О(n^2) потребуется обход данных, внутри которого будет еще один вложенный обход тех же данных. И тд

    С рекурсией скорее всего можно и в один обход

    Ответы: (442) (443)
  14. (441) сам понял чо написал?

    Ответы: (443)
  15. Курильщик (441) сам понял чо написал?

    А ты?
    Слово незнакомое?
    Рекурсия - вызов функцией самой себя до достижения нужного результата.

    Ответы: (445)
  16. sda553

    string.find() используем?

  17. Эльниньо Рекурсия - вызов функцией самой себя до достижения нужного результата.

    та ты ЧО!

  18. Эльниньо Это твой подход - не продумав, не составив ТЗ, сходу начать ваять?

    Нет, ты снова ошибся.

    Эльниньо И почему я не удивлён?

    Потому что своим собственным фантазиям обычно не удивляются

  19. sda553 хотелось бы, чтобы сложность алгоритма была О(n).

    n - это длина строки?

    Ответы: (448) (451) (467)
  20. (447) количество действий и тп.

  21. Эльниньо Напиши поиск нужного значения в четырёхмерном массиве без For

    Уже давно написал и выложил сюда. У тебя с памятью что-то?

  22. 1 #include <stdio.h>
    2 #include <stdlib.h>
    3
    4 int main(void)
    5 {
    6 unsigned long long i;
    7 for (i = 1; i < 100000000000; i++){
    8 unsigned long long j;
    9 for (j = 1; j < 100000000000; j++){
    10 unsigned long long k;
    11 for (k = 1; k < 10000000000; k++){
    12 if (k == (10000000000 - 1)) {
    13 goto end;
    14 }
    15 }
    16 }
    17 }
    18 end:
    19 printf("This is the End.");
    20 }

    r2d2@darkstar:~/test$ time ./1
    This is the End.
    real 0m23,907s
    user 0m23,907s
    sys 0m0,000s
    r2d2@darkstar:~/test$ time ./1
    This is the End.
    real 0m23,891s
    user 0m23,892s
    sys 0m0,000s

  23. 07.02.2020 21:26:11 отредактировано sda553

    (447) не суть важно. Ну пусть для определенности это будет суммарная длина строк

    Ответы: (467)
  24. 1 #include <stdio.h>
    2 #include <stdlib.h>
    3 #include <stdbool.h>
    4
    5 int main(void)
    6 {
    7
    8 unsigned long long l = 0;
    9 unsigned long long i;
    10 bool need_leave = false;
    11 for (i = 1; !need_leave && i < 10000000000; i++){
    12 unsigned long long j;
    13 for (j = 1; !need_leave && j < 10000000000; j++){
    14 unsigned long long k;
    15 for (k = 1; k < 10000000000; k++){
    16 l++;
    17 if (k == (10000000000 - 1)) {
    18 need_leave = true;
    19 break;
    20 //goto end;
    21 }
    22 }
    23 }
    24 }
    25 end:
    26 printf("This is the End.");
    27 }

    r2d2@darkstar:~/test$ time ./2
    This is the End.
    real 0m25,883s
    user 0m25,832s
    sys 0m0,048s

    r2d2@darkstar:~/test$ time ./1
    This is the End.
    real 0m24,725s
    user 0m24,721s
    sys 0m0,004s
    r2d2@darkstar:~/test$ time ./1
    This is the End.
    real 0m26,676s
    user 0m26,640s
    sys 0m0,032s

    Ответы: (454)
  25. Эльниньо По быстродействию ровно наоборот.
    Возьмём небольшой массив 1000,1000,1000,1000
    Сколько лишних проверок выполнит твой код?
    около 1000000000000 в случае, если необходимое значение окажется в конце.
    А значит применение goto просто необходимо при больших массивах

    я ответил на твой вопрос?
    нет разницы по быстродействию что с гото что без него

    Ответы: (456) (468)
  26. Курильщик r2d2@darkstar

    Правильно: r2d2@deathstar

    Ответы: (455)
  27. (454) правильно для кого?

  28. Курильщик нет разницы по быстродействию что с гото что без него

    Ясное дело. Потому что на 10000000000 итераций происходит только одна проверка.

    Ответы: (457) (466)
  29. (456) и?

  30. Какого продолжения ты ждешь?

  31. Эл просил сравнить 2 разных обхода циклов, с гоуту и с брэйком. Я сравнил. Результаты выше.

    Ответы: (461)
  32. И да r2d2@deathstar неправильно

    Ответы: (462)
  33. Курильщик Эл просил сравнить 2 разных обхода циклов, с гоуту и с брэйком. Я сравнил. Результаты выше.

    А я написал что и без того было очевидно что результат будет одинаковый. Ты сравнил как будто для тупого. Все. Продолжения никакого не требуется.

    Ответы: (464)
  34. Курильщик И да r2d2@deathstar неправильно

    Значит ты не понял о чем я. Даже не интересно узнавать твои аргументы. Я не для этого написал.

    Ответы: (465)
  35. jsmith82 если чо, вебдев это не я

    :)

  36. (461) не всем это очевидно, Эл - не очевидно.

  37. webdev Значит ты не понял о чем я.

    Нет я не понял о чем ты.
    Даркстар это дефолтовое имя хоста на слаке есичо.

  38. webdev Ясное дело. Потому что на 10000000000 итераций происходит только одна проверка.

    ?

  39. sda553 (447) не суть важно. Ну пусть для определенности это будет суммарная длина строк

    Ты говорил кол-во обходов.
    На ходу условие менять не комильфо

    Ответы: (469) (470)
  40. Курильщик я ответил на твой вопрос?
    нет разницы по быстродействию что с гото что без него

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

    Ответы: (481)
  41. 07.02.2020 23:39:22 отредактировано Курильщик

    (467) O(n) не обозначает что то конкретное, лишь тенденцию стоимости алгоритма от количества элементов/итераций и т.п.

  42. Эльниньо Ты говорил кол-во обходов.
    На ходу условие менять не комильфо

    Это курильшик писал. Но он наверное не понял о чем вопрос.

  43. sda553 Если что О(n) означает, что алгоритм выполнит задачу за один обход данных. (Или константное количество обходов, тк такое можно свести к одному обходу)
    О(n^2) потребуется обход данных, внутри которого будет еще один вложенный обход тех же данных. И тд

  44. https://tproger.ru/articles/computational-complexity-explained/amp/

    Ответы: (473)
  45. sda553 https://tproger.ru/articles/computational-complexity-explained/amp/

    Косячище!!! Ячейка 30 : 2^n в таблице должна быть желтого цвета, а она черного.

  46. sda553 Ну давайте что ли найдем в тыще строк наибольшую общую подстроку. У кого оптимальнее выйдет

    Лес рук

  47. Есть мысль как это сделать О(н) по операциям, но по памяти выходит не оптимально. Времени запрограммировать пока не было.
    Твой вариант сколько использует памяти?

    Ответы: (476)
  48. 12.02.2020 07:27:44 отредактировано sda553

    (475) o(n) по памяти так же

  49. Прочитал сейчас утверждение: "Python постепенно вытесняет JavaScript".
    Ваше мнение, гуру?
    А то я начал игрушку на JS писать

    Ответы: (478) (485)
  50. Эльниньо Прочитал сейчас утверждение: "Python постепенно вытесняет JavaScript".
    Ваше мнение, гуру?
    А то я начал игрушку на JS писать

    Спасибо. Ты сделал мой день.

    Ты бы сначала канал немчинского посмотрел бы.

    Ответы: (479)
  51. stackoverflow Спасибо. Ты сделал мой день.

    Там был вопрос. Прочитай ещё раз 5 внимательно.
    Ах да - вопрос был к гуру. Извини

  52. Ты сейчас сравнил яблоко с грушей.

    На тебе кейсы питона:

    Про кейсы жабаскрипта тебе напомнить?

  53. Эльниньо Пятничный коньячок не позволяет внимательно посмотреть твой код.
    А так вроде ты прав

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

    Ответы: (482)
  54. stackoverflow Выпей боярочки, узбагойся, и пойми наконец разницу между питоном и жо есом.

    Нормально ответить может кто-нибудь, [...]?

    Ответы: (483)
  55. Эльниньо Нормально ответить может кто-нибудь, [...]?

    Тебе ответа немчинского с комментариями математиков мало?

    Ответы: (484)
  56. Мой опыт подсказывает, что чем больше [...], тем больше слово "Быдло" перед "кодер"

    stackoverflow Тебе ответа немчинского с комментариями математиков мало?

    Это мнение Немчинского. Есть ещё [...] туча мнений других спецов.
    Я ваше мнение спросил. Отвечать не хочете. Жопой виляете

    Ответы: (488)
  57. Эльниньо Прочитал сейчас утверждение: "Python постепенно вытесняет JavaScript".
    Ваше мнение, гуру?
    А то я начал игрушку на JS писать

    В каких-то мизерных кейсах может кто-то и перешел с JS на Питон. На общей статистике никак не отражается. Продолжай писать на том, на чем писал.

  58. Нет профессии Программист Питон.

    Его используют люди различных профессий - девопсы, дата сайнтисты, специалисты по ML, автоматизаторы.

    JavaScript же из другой оперы - его используют фронтендеры и специализированные бекендеры для микросервисов : извлечь из базы NoSql отдать клиенту.

  59. -image-

  60. Эльниньо Мой опыт подсказывает, что чем больше [...], тем больше слово "Быдло" перед "кодер"
    Это мнение Немчинского. Есть ещё [...] туча мнений других спецов.
    Я ваше мнение спросил. Отвечать не хочете. Жопой виляете

    Ты долбоеб что ли? Какое мнение? Он тебе рассказал, зачем нужен питон. Я тебе повторил. Иди гугли, что скажут другие. Тоже самое.

    И да, что за срашкинский тренд переходить с . на.. ?

    Обычно ценятся спецы, которые и то, и другое умеют.

    Уйти можно только с пыха.

    Ответы: (489)
  61. stackoverflow Ты долбоеб что ли? Какое мнение? Он тебе рассказал, зачем нужен питон.

    Тебя, тупой укроп, не спрашивали зачем какой язык. Спросили твоё мнение, по поводу, что Питон обогнал Жавускрипт по востребованности.

    Ответы: (490)
  62. Эльниньо Тебя, тупой укроп, не спрашивали зачем какой язык. Спросили твоё мнение, по поводу, что Питон обогнал Жавускрипт по востребованности.

    [...], ты лох. Востребованы спецы, умеющие и то, и другое. Точка.

    Ответы: (491)
  63. stackoverflow [...], ты лох. Востребованы спецы, умеющие и то, и другое. Точка.

    Ещё один "гуру" жопой виляет интенсивно вместо ответа на простой вопрос.
    Ты тоже будешь сейчас пафосно утверждать, что применение if - признак быдлокода, как твой земляк вебдев?

    Ответы: (492)
  64. Эльниньо Ещё один "гуру" жопой виляет интенсивно вместо ответа на простой вопрос.
    Ты тоже будешь сейчас пафосно утверждать, что применение if - признак быдлокода, как твой земляк вебдев?

    Ну да, настоящая программа не должна содержать ни одного if. Только while.

    Ответы: (494) (501)
  65. Сам ты земляк этого лоха, лох! Охренел чтоли меня называть его земляком! Сучий потрох

    Ответы: (495)
  66. Эльниньо похоже вы с ним земляки. while бляха муха :))))

    stackoverflow Только while.

  67. webdev Сам ты земляк этого лоха, лох! Охренел чтоли меня называть его земляком! Сучий потрох

    Тебя сегодня [...] угощало сгущенкой?

    Ответы: (496) (497)
  68. stackoverflow Тебя сегодня [...] угощало сгущенкой?

    Не знаю что это значит на вашей мове. Пиши нормально.

    Ответы: (498)
  69. stackoverflow [...]

    Это путин или эльниньо?

  70. 14.02.2020 23:16:36 отредактировано stackoverflow

    webdev Не знаю что это значит на вашей мове. Пиши нормально.

    Нет, я тебе написал на языке рашгензгих блатняков.

    Ответы: (500)
  71. Вообщем профессионального разговора не будет. И эту ветку засрали, засранцы

  72. stackoverflow пис

    я с сидевшими мало общался, не ботаю по фени.

  73. stackoverflow Ну да, настоящая программа не должна содержать ни одного if. Только while.

    [smile=:D]
    Ты точно программист?

    Ответы: (502) (503)
  74. Эльниньо [smile=:D]
    Ты точно программист?

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

    Ответы: (504)
  75. Эльниньо [smile=:D]
    Ты точно программист?

    Ты вот точно нет. Почитай основы CS. Какие именно конструкции достаточны для имплементации алгоритма.

    Цикл Пока и что еще?

    Ответы: (505) (506)
  76. webdev Если можно назвать программистом того, кто лучше программирует чем ты, то тут походу все программисты, любитель IF и FOR

    Ты знаешь, как я программирую? Ты видел туеву хучу текстов программ, написанных мной?
    Ты волшебник? Или просто [...]?

    Ответы: (507)
  77. stackoverflow Ты вот точно нет.

    Открою тебе страшный секрет:
    while строится на использовании if

    Ответы: (508)
  78. Эльниньо Ты знаешь, как я программирую? Ты видел туеву хучу текстов программ, написанных мной?
    Ты волшебник? Или просто [...]?

    Я видел логи зависшего PMD для твоего кода. Тебе потом в QA team этого продукта без собеседования и испыталки приняли.

    Ответы: (509)
  79. Эльниньо Открою тебе страшный секрет:
    while строится на использовании if

    Ты действительно программист? А не наоборот?

  80. stackoverflow Я видел логи зависшего PMD для твоего кода. Тебе потом в QA team этого продукта без собеседования и испыталки приняли.

    Всё таки [...].
    А так хотелось с программистами поболтать.
    Видимо не судьба

    Ответы: (510)
  81. Эльниньо Всё таки [...].
    А так хотелось с программистами поболтать.
    Видимо не судьба

    После того, как ты попутал посылку с заключением, с тобой как с программистом тоже не о чем болтать. Ты даже не сможешь условие на базе цикла ПОКА реализовать.

    Ответы: (511)
  82. stackoverflow Ты даже не сможешь условие на базе цикла ПОКА реализовать.

    Мой алгоритм на базе Пока в учебнике и сейчас стандарт де-факто.
    Ты кроме стучания пятками в грудь, чем похвалится можешь?

    Ответы: (512) (513)
  83. 14.02.2020 23:41:07 отредактировано stackoverflow

    ОК, посуществу - ты в курсе про селениум? Вот там питон. Только там не язык важен, а инструмент.

    Эльниньо Мой алгоритм на базе Пока в учебнике и сейчас стандарт де-факто.
    Ты кроме стучания пятками в грудь, чем похвалится можешь?

    Разработал жира модуль для корпоративного транснационального клиента. А ты?

  84. Эльниньо Мой алгоритм на базе Пока в учебнике и сейчас стандарт де-факто.
    Ты кроме стучания пятками в грудь, чем похвалится можешь?

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

  85. Я не с тобой разговариваю. Твой уровень аргументации я знаю

  86. У тебя не спрашивали с кем ты разговариваешь

  87. 2 мес. назад
    23.03.2020 01:58:14 отредактировано webdev

    Подниму тему.

    Эльниньо Так переделай (138) как надо
    (ты задачу то хоть понял?)

    Зацените, поиск массивов содержащих "yes" в одну строчку, без GOTO, FOR и IF/ELSE, можно вызывать рекурсивно:

    const check = v => v.pop ? v.find(check) : v === 'yes';

    Получение результатов r1, r2, r3, где m4 - это исходный массив:

    const r1 = m4.find(check);
    const r2 = r1.find(check);
    const r3 = r2.find(check);
    const r4 = r3.find(check);
    Ответы: (517) (520)
  88. 23.03.2020 06:13:26 отредактировано sda553

    (516) неоптимально, ведь
    1. фактически
    const r1 = m4.find(check);
    Уже обошел все элементы вглубь на 4 измерения и решил задачу. Вот только ответ не выдал.

    2. Я точно уже не помню, что там за задача была, но разве там надо было не все "yes" найти? А то код, на глаз, ищет первое попавшееся yes и вроде как всё

    Ответы: (519)
  89. 23.03.2020 06:30:27 отредактировано sda553

    Но в целом согласен, красивенько вышло. То что у эльниньи было в целую страницу см (268) уместилось в одну строчку. К тому же у твоего решения явное преимущество: оно не зависит от того сколько измерений в задаче в массиве, не завязан на 4 измерения. Можно хоть на 5, хоть на 6 эту строчку на травить и тд.

  90. sda553 А то код, на глаз, ищет первое попавшееся yes и вроде как всё

    Судя по этому коду, так и должно быть:

    if m4[i1,i2,i3,i4] == Yes
    {
    goto Finish;
    }

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

    Ответы: (521) (522)
  91. webdev Зацените, поиск массивов содержащих "yes" в одну строчку, без GOTO, FOR и IF/ELSE, можно вызывать рекурсивно:

    const check = v => v.pop ? v.find(check) : v === 'yes';

    Получение результатов r1, r2, r3, где m4 - это исходный массив:

    const r1 = m4.find(check);
    const r2 = r1.find(check);
    const r3 = r2.find(check);
    const r4 = r3.find(check);

    Заценил. Неплохо

  92. 23.03.2020 10:32:08 отредактировано sda553

    (519) на основе твоей строчки можно доработать, чтобы искало все 'yes' , а не только первый попавшийся

    const check=v=>v.filter?v.filter(check).length:v==='yes';
    Ответы: (522)
  93. sda553 (519) на основе твоей строчки можно доработать, чтобы искало все 'yes' , а не только первый попавшийся

    const check=v=>v.filter?v.filter(check).length:v==='yes';

    Можно. В JS не хватает функции, объединяющей в себе filter и map. Тут бы она очень пригодилась.

    Ответы: (523)
  94. +(522) То есть find и map, опечатка. Чтобы можно было делать map только до тех пор, пока не найдено то что нужно, для оптимизации.

    ЗЫ: Вот тут чуваки то же самое обсуждают:
    https://stackoverflow.com/questions/57760111/javascript-map-find-at-the-same-time-findmap

  95. console.log(a.find(x => expensiveFunction(x) > 100));

  96. правда, тут, мэп неявный выходит через выражение в теле иной функции

  97. 23.03.2020 19:37:00 отредактировано jsmith82

    вернее, так наверно
    console.log(expensiveFunction(a.find(x => expensiveFunction(x) > 100)));

    Безымянный.png

    Ответы: (527)
  98. jsmith82 вернее, так наверно
    console.log(expensiveFunction(a.find(x => expensiveFunction(x) > 100)));

    Тут как раз та проблема, которую пытаются решить.
    Не нужно вызывать второй раз expensiveFunction с тем же аргументом, что и во время find, так как это не оптимально.

  99. Кстати, я в своем коде уже нашел кое-что лишнее, что можно было бы упростить..

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

    Ответы: (530)
  101. jsmith82 но и это напрягает, наверно

    Так и есть. У меня как раз так получилось, и это напрягает.

или зарегистрируйтесь чтобы ответить!