Порридж В Ко-ливинге
Viktor
ну да. все, конечно, нельзя.
Viktor
@alexeyten модный значок. сколько закинул на плюшки ребятам? 👍
Порридж В Ко-ливинге
Поставил линтер на голый проект 🤣🤣🤣
Порридж В Ко-ливинге
Это он просто в папку build залетел случайно и еще какие-то
Порридж В Ко-ливинге
Теперь лучше)
Lynn «Кофеман»
Viktor
Вот это чувак упоролся https://twitter.com/lewster32/status/1335161879413592064
Viktor
ага, мне нравится как он сделал цвет глаз и волос
Viktor
ASCII-графика забытое искусство
Порридж В Ко-ливинге
Капец, т.е. String.prototype.startsWith в JS есть, а Array.prototype.last() нету… JS очень странный на фоне Python и C++
Viktor
Капец, т.е. String.prototype.startsWith в JS есть, а Array.prototype.last() нету… JS очень странный на фоне Python и C++
мир жесток 😊 всегда можно сделать себе очередной underscore со всеми утилитами какие только пожелаешь
Порридж В Ко-ливинге
Да, но почему нельзя это сделать из коробки? Было бы очень удобно, а то это уродство array[array.length - 1]
Viktor
Да, но почему нельзя это сделать из коробки? Было бы очень удобно, а то это уродство array[array.length - 1]
мне кажется потому что ни у кого это не болит, все давно плотно сидят на своих utils
Порридж В Ко-ливинге
мне кажется потому что ни у кого это не болит, все давно плотно сидят на своих utils
А как вы в Амазоне получаете последний элемент массива?
Viktor
А как вы в Амазоне получаете последний элемент массива?
это прямо последнее о чем приходится думать, поверь. я получаю его через last в котлине 😉
Viktor
но я бы очень хотел обменять наличие last на все остальные проблемы, которые есть 😃
Порридж В Ко-ливинге
это прямо последнее о чем приходится думать, поверь. я получаю его через last в котлине 😉
Да лол, все же в мелочах. Python например на то и python, что решил кучу мелких не сложных проблем
Порридж В Ко-ливинге
но я бы очень хотел обменять наличие last на все остальные проблемы, которые есть 😃
Пхаха, вы хотите мелкую проблему которая решается в одну строку поменять на какую-то фундаментальную? 🤣 Я думаю вам не к программистам, а к дъяволу надо сделку заключать
Порридж В Ко-ливинге
вот тебе last — .slice(-1).pop()
Какой ужас 😃 Суть JS
Lynn «Кофеман»
👹 Array.prototype.last = function() { return this[this.length - 1]; }; [1, 2, 3].last() // 3
Viktor
Порридж В Ко-ливинге
👹 Array.prototype.last = function() { return this[this.length - 1]; }; [1, 2, 3].last() // 3
"Когда-то давно четыре народа жили в мире. Но все изменилось, когда народ Против Инзменения Прототипов развязал войну."
Lynn «Кофеман»
👹👹👹 Object.defineProperty(Array.prototype,'-1',{get(){return this.length?this[this.length-1]:undefined}}) [1,2,3][-1] // 3 [][-1] // undefined
Порридж В Ко-ливинге
👹👹👹 Object.defineProperty(Array.prototype,'-1',{get(){return this.length?this[this.length-1]:undefined}}) [1,2,3][-1] // 3 [][-1] // undefined
Можно вообще все массивы в прокси оборачивать и сделать нотацию как в Питоне 🤣
Lynn «Кофеман»
Lynn «Кофеман»
Так что с сегодняшним адвентом? У меня опять ничего кроме брутфорса не придумалось
Viktor
Так что с сегодняшним адвентом? У меня опять ничего кроме брутфорса не придумалось
пару я искал с помощью сета с комплиментарными сумме числами, для разнообразия (хотя можно было и брутфорс, окно длины 25 ж), а вторую часть решал с помощью скользящего окна, двигаешь левый и правый указатели в зависимости от того меньше или больше текущая сумма нужной, пока не найдётся нужная сумма.
Viktor
учитывая, что там все положительные числа, можно и брутфорсом искать наверное, потому что можно выходить из второго цикла как только сумма больше, дальше уже точно будет ещё больше
Viktor
но скользящим окном поприкольнее 😃
Viktor
Так что с сегодняшним адвентом? У меня опять ничего кроме брутфорса не придумалось
а у тебя какие брутфорсы получились? во второй или первой части?
Lynn «Кофеман»
В обеих. Три вложенных цикла и вуаля 😀
Lynn «Кофеман»
Но да, вторая часть аж почти 1/10 секунды считалась 😀
Viktor
лол
Lynn «Кофеман»
Я сначала хотел сделать скользящее окно, а потом подумал «какого фига?» и каждый раз сумму с нуля считаю 😀
Viktor
Да, это нормальная история. Я тоже так подумал, уже после того как написал 😃
Evgeniy
Да, но почему нельзя это сделать из коробки? Было бы очень удобно, а то это уродство array[array.length - 1]
В шарпе есть Last() у перечислимых типов. А если есть доступ по индексу, то можно arr[^1].
Viktor
Дубликаты чисел для чего?
А, наверное, что нельзя брать в сумму то же число.
Evgeniy
Дубликаты чисел для чего?
Чтобы случайно не удалить из словаря число, если оно повторяется в окне длины 25
Evgeniy
Т.е. когда нам нужно удалить первое число в окне, а где-то после него еще такое же число есть
Evgeniy
И отдельно связный список поддерживаю, для окна. Можно было бы сразу все числа считать, но я читаю по очереди.
Evgeniy
А, наверное, что нельзя брать в сумму то же число.
Это проверяю так 😄 if (dict.ContainsKey(n - key) && (n - key != key)) { found = true; break; }
Viktor
Интересно было бы глянуть на чисто функциональное решение, кстати. Там где не мутируется стейт, а просто данные из одной формы в другую перетекают, пока ответ не получится.
Viktor
Я че-то не соображу как такое написать сходу.
Viktor
видел чувака на ютубе, который на лиспе решает, видимо, надо у него глянуть 😃
V
всем привет! а сегодняшний день уже разбирали?
V
вот я не могу понять: > Suppose the 26th number is 45, and the first number (no longer an option, as it is more than 25 numbers ago) was 20. > 26 would still be a valid next number, as 1 and 25 are still within the previous 25 numbers. почему 26 по-прежнему валидно, если первое число в списке — 20?
Viktor
всем привет! а сегодняшний день уже разбирали?
там выше была какая-то переписка, но не грех ещё раз разобрать. таких вопросов не было ещё.
Viktor
мы подвинулись на одно число вперед, но среди предыдущих 25 чисел всё равно есть пара (1,25), которая даёт 26, поэтому валидно, не?
ключевое здесь, по-моему, _всё равно_, т.е. искать надо пару в интервале чисел всё время
Alexandr
всё еще в моём топе js Number.prototype[Symbol.iterator] = function * () { for (let i = 0; i < this; i++) { yield i; } }
Evgeniy
[…4] -> [0,1,2,3]
Спасибо
Порридж В Ко-ливинге
Осталось запилить еще range и будет счастье
Viktor
@vtambourine так решил, в итоге, сегодняшнюю задачу?
V
да
Viktor
💪
V
я так понял, что они имели ввиду, что первое и двадцатое число поменялись местами
V
то есть, ряд был бы такой: 20, 2 ... 19, 1, 21 ... 25
Evgeniy
Они говорят про "26-тое число" и про "число 26". Соглашусь, что такое объяснение сбивает с толку.
Порридж В Ко-ливинге
Интересная тенденция: Сейчас в банках (Российских по крайней мере) больше вакансий для ITшников чем для финановиков и юристов
Порридж В Ко-ливинге
Как я понял, у Raiffeisen головной офис в “Yaroslavl” 🤣
Evgeniy
Как я понял, у Raiffeisen головной офис в “Yaroslavl” 🤣
Или у них поломалась локализация)
Порридж В Ко-ливинге
Или у них поломалась локализация)
Странно что только на один город)
Порридж В Ко-ливинге
Боже, мне кажется очен сложно делать стартап или нанимать IT отдел если ты не известная компания
Порридж В Ко-ливинге
Куда проще если ты или компания на слуху, или у тебя в команде есть кто-то, кто работал в такой компании и готов перетащить ребят к тебе
Порридж В Ко-ливинге
А я еще на Яндекс жаловался с их 1-2 неделями ожидания
Viktor
Боже, мне кажется очен сложно делать стартап или нанимать IT отдел если ты не известная компания
да, но обычно все же создатели находятся в некоторой тусовке итшной, а не в вакууме, так что найм всё равно идёт.