Обновить
2
0.9
Отправить сообщение

Думал, лучший вариант - что-то типа O(log N)

Это если словарь сделан не как хэш-мап, а на основе дерева. Например, std::map.

Слышал, на сво запретили использовать мах для связи, типа, ненадёжный

То есть каждая задача с наибольшей подстрокой и окном сводится к "наследуемой"?

Почему вообще в задаче на длиннейшую подстроку с каким-то свойством возникает окно? Потому что свойство "наследуемое" - если оно выполняется для какой-то строки, то и для всех в нее вложенных - тоже

Наследуемое оно в данной конкретной ситуации, но не в общем случае (например, "найти самую длинную подстроку, в которой К различных символов" - тоже окно), потому, имхо, лучше не упоминать.

История, нашумевшая в своё время - https://habr.com/ru/articles/345756/

Пример для параграфа о собственных тайпгардах не очень удачный - там discriminated union и всё работает "из коробки":

if (result.status === 'success') {
      // Здесь TS точно знает, что это PaymentSuccess
      console.log(`Успешно! ID: ${result.transactionId}`);
} else {
      // А здесь TS понимает, что остался только PaymentFailed
      console.error(`Ошибка: ${result.errorMessage}`);
}

причем даже для filter: results.filter(r => r.status === 'success') - массив PaymentSuccess, тут ts сам увидел тайпгард

Это задача, на которую однажды намотали автора homebrew?

Раз уж в статье про разворот списка совершенно неожиданно (судя по всему, не только для меня) разворачивают массив, то вот знаменитый js-кодогольф на тему сабжа:

const reverse = a => a.map(a.pop,[...a])

Иммутабельно, за O(n)

Кем классифицируется и как обосновано? Такая версия (про "самодержца") выгодна РФ-ным пропагандистам, потому что все эти 26 лет президент гораздо лучше продается электорату, чем стоящая за ним партия, каждый раз под тем соусом, что "вот сейчас-то он начнет закручивать гайки против всяких воров". Уверен, что у верхушки предусмотрена очередная операция "преемник", чтобы продолжалась их сытая жизнь.

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

Это стоит рассмотреть лишь при отсутствии O(n) вспомогательной памяти, иначе выбор почти всегда делается в пользу скорости.

Педаль тормоза там хотя бы предусмотрена? Или "чему быть, того не миновать"?

А в нашем случае решается оборонительная задача

Которую единоросы сами же себе и придумали, чтобы отвлекать народ от внутренних проблем

Тоже удаляли аденойды, два раза. Второй раз - мне было год и 8 мес., это самое раннее что запомнил из детства 😂 Даже помню перед процедурой, как сижу на диванчике в коридоре с мыслью: "обычное унылое посещение больницы" - такой подставы я разумеется не ожидал )) Можете называть меня психом, но теперь от того эпизода осталось только чувство ностальгии ))

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

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

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

Навскидку (могу ошибаться) это не позволит существенно уменьшить количество сравнений. Стек будет большим после долгих монотонных отрезков массива, на таких отрезках у нас одно сравнение на итерацию. Выигрыш достигается, когда монотонность меняется в обратную сторону, причем каждая итерация скидывает со стека сразу много значений. Но таких итераций будет сравнительно мало. А если скидывается понемногу, то там нет особого бонуса от двоичного поиска. В общем, надо смотреть конкретные кейсы и проверять на практике.

в Biocad мне показывали задачку которая хитроумным образом сводится к перемножению с помощью БПФ

Между БПФ и монотонным стеком - пропасть по сложности (если БПФ надо было запилить вручную). Ваш кейс действительно очень редкий, а вот поймать сабж на алгосекции вполне реально.

Почему именно совок? На мой взгляд, больше сходства с Германией 30-40 гг.

Сейчас идет много инфы о том, что после подписания контракта, подписавший весьма вероятно может огрести кучу проблем. Причем не только от оппозиции, но и от самих зетников (жанр называется "z-нытье"). Одна из задач единоросов - прикрыть эту инфу, иначе у них закончатся "любители многомиллионных выплат".

Поэтому стараются забанить всё независимое, где могут быть неподконтрольные каналы.

Есть конвертаторы из yaml:

openapi-zod

openapi-zod-client

1
23 ...

Информация

В рейтинге
2 025-й
Откуда
Москва, Москва и Московская обл., Россия
Зарегистрирован
Активность

Специализация

Фронтенд разработчик
Старший
JavaScript
TypeScript
React
HTML
CSS
Веб-разработка
Redux
MobX
Webpack