170 похожих чатов

Https://Leetcode.Com/Problems/Spiral-Matrix/Solutions/4267888/100-Nice-Original-Solution/ Почему другие так не могут? Сколько не смотрел решений, никто

больше так не решил эту задачу, хотя вроде бы наглядно и просто всё.
Как у людей логика работает? хз ваще как то набикрень

44 ответов

162 просмотра

Почему же, мне кажется, многие так могут.

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

Artem-ArtYhoo Автор вопроса
Artem-ArtYhoo Автор вопроса
Alexander Pshenichnikov
Почему же, мне кажется, многие так могут.

В том то и дело, что все наглядно, просто и логично, а в решениях у других всякая дребедень при этом почему то

Artem ArtYhoo
В том то и дело, что все наглядно, просто и логич...

А какая аудитория у leetcode? Исключительно люди с 10+ лет написания промышленного кода? По мне, то что вы говорите, как раз нормальная ситуация

Artem-ArtYhoo Автор вопроса
Alexander Pshenichnikov
А какая аудитория у leetcode? Исключительно люди с...

Ну я и сам в этом году программироать только начал.

Artem ArtYhoo
Ну я и сам в этом году программироать только начал...

Вот. Как вы сами написали решение? Просто и понятно?

а как решали другие? сильно менее оптимально? в этом решении я бы из последних двух циклов (по r и по rk) вынес проверку на i в отдельный внешний иф, незачем одно и то же проверять много раз.

Artem-ArtYhoo Автор вопроса
Alexander
а как решали другие? сильно менее оптимально? в э...

Ну посмотри решение других, как по мне да. в два отдельных внещних ифа внутри которых эти циклы?

Artem ArtYhoo
В том то и дело, что все наглядно, просто и логич...

похоже на проявление классического синдрома NIH (Not Invented Here). у нас всё просто и логично, у других всякая дребедень. как-то ведь они проходят тесты, значит, и в их решениях могут какие-то зайчатки логики присутствовать?

Artem-ArtYhoo Автор вопроса

ну да, как-то так. можно бы и ретурн поставить.

Artem-ArtYhoo Автор вопроса
Alexander
ну да, как-то так. можно бы и ретурн поставить.

Ты про то, что вначале, матрица пустая?

Artem-ArtYhoo Автор вопроса
Alexander
похоже на проявление классического синдрома NIH (N...

https://leetcode.com/problems/spiral-matrix/solutions/20719/c-spiral-traverse/ ну вот самое популярное решение на С++ ну разве мое решение не горзадо проще и быстрее?

Artem ArtYhoo
https://leetcode.com/problems/spiral-matrix/soluti...

Лучше - понятие относительное. А насчет быстрее - надо мерять :)

Artem-ArtYhoo Автор вопроса
Alexander
а как решали другие? сильно менее оптимально? в э...

Блин, теперь мне решение еще больше нравится, спасибо большое, возьму на вооружение, нуб есть нуб)

Artem ArtYhoo
https://leetcode.com/problems/spiral-matrix/soluti...

в вашем решении надо думать, чтобы понять, что оно где-то в чём-то проще а тут тупо в лоб лом-лопата-иван набили простата простате рознь

Artem ArtYhoo
https://leetcode.com/problems/spiral-matrix/soluti...

так оно ровно такое же 🤣 разве что order[p++] вместо пушбэка и переменные называются осмысленно u, d, l, r вместо i, sizeRows, sizeColumns. ну и ифы ещё отдельно вытащены.

Alexander
так оно ровно такое же 🤣 разве что order[p++] вмес...

а тебя не удивляет, что разные исполнители по одним и тем же нотам играют казалось бы одно произведение, но одни в топах и на их концерты билеты не достать, другие выступают в деревнях в пустых залах. а здесь тем более голова работает у всех по разному. чему ты удивляешься? или ты просто решил таким образом прихвастнуть? :)

Artem ArtYhoo
Блин, теперь мне решение еще больше нравится, спас...

а тебя не удивляет, что разные исполнители по одним и тем же нотам играют казалось бы одно произведение, но одни в топах и на их концерты билеты не достать, другие выступают в деревнях в пустых залах. а здесь тем более голова работает у всех по разному. чему ты удивляешься? или ты просто решил таким образом прихвастнуть? :)

Artem ArtYhoo
Ровно такое же?

ну я описал отличия.

Artem ArtYhoo
https://leetcode.com/problems/spiral-matrix/soluti...

1. reserve + push_back на интах медленнее resize + operator[]. 2. Это литкод, тут самое главное, в первую очередь, решить хоть бы как, и только во вторую уже что-то оптимизировать. 3. Данная задача слишком простая, чтобы можно было говорить о простом/сложном коде. Да и простота разная бывает, как уже подметили выше. 4. Хороший нейминг — это круто, но это не панацея. 5. Сам себя не похвалишь — никто не похвалит :)

Artem-ArtYhoo Автор вопроса
Alexander
ну я описал отличия.

тут переменых только 7 штук обьявляется в функции , m, n u = 0, d = m - 1, l = 0, r = n - 1, p = 0; 7, и со всеми ними работает, складывая и отнимая, у меня же только 2, еще 1 i в ощем цикле, и еще по одному внутри каждого цикла. т.е. максимум 4. А как всем известно оптимальное количесто в функции переменных равно 4, тогда все они хранятся в регистрах процессора, остальные же записываются в стек, ну а скорость работы со стеком в 500раз медленее работы с регистом. Следовательно можно сделать выводы о разнице скорости работы этих программ

Я только про этот частный случай говорю, в моём сообщении нет "только"

🐈
1. reserve + push_back на интах медленнее resize +...

1. неа, не медленней. для больших размеров как раз быстрее, избавляемся от фазы обнуления. для 10*10 вообще насрать. 2. нейминг осмысленней как раз во втором решении.

ну допустим если у элемента дефолт конструктор люто бешено что-то долго делает, reserve+push_back будет предпочтительнее

Artem ArtYhoo
тут переменых только 7 штук обьявляется в функции...

Это не та программа где нужна какая-то скорость

изначальная инициализация (нулями) точно так же ходит по индексу. апдейт сайза очень дешёвый, в отличие от второго прохода по памяти.

Artem-ArtYhoo Автор вопроса
Alexander
1. неа, не медленней. для больших размеров как раз...

i - индекс осмысленый нейминг для цикла фор, как и j для вложенного, называть 1 буквой переменные, хз, что тут может быть осмысленного

Artem ArtYhoo
тут переменых только 7 штук обьявляется в функции...

и на фоне этих рассуждений о регистрах, матрица передаётся вектором векторов

Artem-ArtYhoo Автор вопроса
Ilya Zviagin
Это не та программа где нужна какая-то скорость

Ну я как бы разнице говорю, как по мне, она существенна между этими кодами

Artem ArtYhoo
тут переменых только 7 штук обьявляется в функции...

с m и n в цикле никто не работает, это начальная инициализация. вместо p у вас неявное spiralOrder.size. единственная экономия i вместо u и l, но и она сомнительна, ибо ситуативна.

Artem ArtYhoo
i - индекс осмысленый нейминг для цикла фор, как и...

i у вас вовсе не просто индекс 🤣 он ограничивает слева и сверху остаток матрицы.

Artem-ArtYhoo Автор вопроса
Alexander
с m и n в цикле никто не работает, это начальная и...

Внимательнее посмотри, работают. вычитают внутри цикла,

Artem ArtYhoo
Внимательнее посмотри, работают. вычитают внутри ...

вычитают m или n? в упор не вижу. вычитают 1 из d и r, как и вы.

Artem-ArtYhoo Автор вопроса
Alexander
i у вас вовсе не просто индекс 🤣 он ограничивает с...

Но это же индекс вектора, с которым мы работаем внутри цикла, проходясь по вектору этим индексом

Artem ArtYhoo
Но это же индекс вектора, с которым мы работаем вн...

я же и не спорю, что это индекс. но не просто индекс, а ещё и осмысленная переменная, к тому же применяемая в двух разных смыслах: как ограничение слева и сверху (первый индекс и второй).

Artem-ArtYhoo Автор вопроса
Alexander
вычитают m или n? в упор не вижу. вычитают 1 из d ...

Да, точно, моя ошибка. Тогда 5 остается. Да, короче вы правы тогда, не особо получается велика разница тогда))

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта