ЙажаСценарий / Говнокод #22671 Ссылка на оригинал

0

  1. 1
for (var i = 0, j = 0; i < 10; i += +(j == 9), j++ == 9 && (j = 0))

Суровый обход двумерного массива

Запостил: DiphenylOxalate DiphenylOxalate, (Updated )

Комментарии (18) RSS

  • Ничего вы не понимаете! Это оптимизация! Когда два цикла - это будет "О" от эн квадрат, а вот когда один - это "О" от эн!
    Ответить
  • т.е. вы утверждаете что в вашем случае вы обойдете N элеметов массива а в случае двойного цикла то вы обойтете N * N элементов? вопрос зачем? зачем 1 елемент обходить N раз а потом еще 2ой елемент N раз и так далее до N?

    кол-во операций и в том и в том случае будет N елементов массива. так что какая простите в .опу оптимизация? Это просто вы хотите нас надуть
    Ответить
    • i, j пробегают все индексы от (0, 0) до (9, 9).
      Код эквивалентен
      var i, j;
      for (i = 0; i < 10; i++) for (j = 0; j < 10; j++)
      Ответить
    • # какая простите в .опу оптимизация

      Цвет комментария выше - зелёный, если что
      Ответить
  • Границы известны, так что лучше всего заанроллить, тогда цикла не будет и соответственно О(1).
    Ответить
      • В большинстве случаев программа просто должна что-то напечатать в файловый дескриптор (даже самые Ънтерпрайзнутые системы это делают). Значит, нужно просто напечатать что-то этот сраный дескриптор, а не по циплам ходить.
        Ответить
        • К сожалению, есть ещё входные данные, без которых не угадаешь, что именно надо напечатать ;(
          Ответить

Добавить комментарий

Я, guest, находясь в здравом уме и твердой памяти, торжественно заявляю:

    А не использовать ли нам bbcode?


    8