Evgeniy
Ну можно нагородить константу
Evgeniy
Но незачем
Порридж В Ко-ливинге
Порридж В Ко-ливинге
https://leetcode.com/problems/decode-ways/discuss/30379/1-liner-O(1)-space
Evgeniy
Нагородить? 🤣
Ну да) Тут же по сути два последних данных нужно из ДП таблицы
Порридж В Ко-ливинге
Порридж В Ко-ливинге
ужас
Наоборот классное решение, у меня такое в 12 строк вышло(
Viktor
Наоборот классное решение, у меня такое в 12 строк вышло(
это, конечно, весело, только максимально бесполезно для собеседований и, тем более, в промышленном программировании.
Evgeniy
Коротко, но с ходу ничего не понятно
Evgeniy
(d>'0')*w такой синтаксис динамической типизации ломает мозг)
Evgeniy
дело привычки, конечно
Evgeniy
У меня в 15 строк вышло
Порридж В Ко-ливинге
(d>'0')*w такой синтаксис динамической типизации ломает мозг)
А в чем проблема то? Типизация же не слабая, должно быть все понятно
Viktor
Наоборот же, всего 4 строчки и память не есться.
ну просто зависит от того какую метрику оптимизируем. обычно хочется сделать код максимально понятным. и есть золотая середина — слишком мало кода плохо, без пробелов, в одну строку, с однобуквенными переменными, и магией всякой, и слишком много кода плохо, когда 10 абстракций и уровней наследований. и то и то делает код плохо читаемым.
Viktor
Так там с пробелами, 4 строк, а переменные можно переименовать
вот если переименовать, чтобы глядя на них было ясно что означают, без погружения в контекст задачи, будет лучше :-)
Evgeniy
Плюс я без умножений сделал, так что не совсем понятна логика решения
Порридж В Ко-ливинге
вот если переименовать, чтобы глядя на них было ясно что означают, без погружения в контекст задачи, будет лучше :-)
Ну вот мое, но без объяснений все равно нихрена не понятно: class Solution: def numDecodings(self, s: str) -> int: ways = 1 pairs, single = 0, 1 for i in range(len(s)): if s[i] == '0' and (not i or s[i - 1] not in {'1', '2'}): return 0 elif i != len(s) - 1 and int(s[i] + s[i + 1]) < 27 and \ s[i + 1] != '0' and (i == len(s) - 2 or s[i + 2] != '0'): pairs, single = single, single + pairs else: ways *= pairs + single pairs, single = 0, 1 return ways * (pairs + single)
Evgeniy
До кучи, вот моё: public class Solution { public int NumDecodings(string s) { if (s[0] == '0') return 0; int[] ways = new int[s.Length]; ways[0] = 1; for (int i = 1; i < s.Length; i++) { if (s[i-1] == '1' || (s[i-1] == '2' && s[i] <= '6')) ways[i] += ((i >= 2) ? ways[i-2] : 1); if (s[i] != '0') ways[i] += ways[i-1]; } return ways[^1]; } }
Viktor
var numDecodings = function(s) { // dp[i] means the total number of ways to decode string of (s.length - i)-th length const dp = []; dp[s.length] = 1; for (let i = s.length - 1; i >= 0; i--) { let result = 0; if (s[i] > '0') { result += dp[i + 1]; } if (i + 2 <= s.length && (s[i] == '2' && s[i + 1] <= '6' || s[i] == '1')) { result += dp[i + 2]; } dp[i] = result; } return dp[0]; };
Порридж В Ко-ливинге
где дпшечка там всегда не очень понятно, тут уж ничего не поделаешь, согласен
Кстати да. Пока не прочитаешь, не поймешь что храним и зачем
Порридж В Ко-ливинге
было засабмичено когда-то
Ну ожидаемо, еще даже на JS, а не плюсах
Viktor
Evgeniy
Только условия раскиданы в разные места
Порридж В Ко-ливинге
Тут даже онлайн компилятор прифигел от того, что я делаю
Порридж В Ко-ливинге
f и 9 должны быть другого цвета
Порридж В Ко-ливинге
Со строками прям намутили в Питоне
Viktor
Тут даже онлайн компилятор прифигел от того, что я делаю
наверное баг в подстветке синтаксиса, любопытно что они там используют, не highlight.js случаем.
Порридж В Ко-ливинге
наверное баг в подстветке синтаксиса, любопытно что они там используют, не highlight.js случаем.
Да, но еще один момент. Буква r пере строкой отключает '\', т.е. '\n' будет просто '\n', а не новой строкой. Казалось бы все понятно, и все отлично работает, r'\\' == '\\\\', Но почему-то когда делаешь '\'' то нет никакой ошбики и печатается \'
Порридж В Ко-ливинге
Т.е. кавычки эскейпятся, но бэкслэш не убирается 😅
Порридж В Ко-ливинге
Не, ну это просто великолепно 🤣
Порридж В Ко-ливинге
Нахера я читал 3 дня тутториал-документацию, когда в reference намного интереснее вещи.
Порридж В Ко-ливинге
Могли бы как большинство JSской год обновлять 🤣
Порридж В Ко-ливинге
🤣🤣🤣
Null
Happy Monday! 👋 На этой неделе найдем количество возможных непустых подпоследовательностей строки без повторений. Напишем решение через бектрекинг, и улучшим его, избавившись от копирования строк, порисуем дерево рекурсивных вызовов. https://vitkarpov.me/posts/letter-tile-possibilities/
Viktor
🤣🤣🤣
главное, чтобы не джаваскриптизёр.
Evgeniy
🤣🤣🤣
Тоже хотел сделать скрин)
Viktor
Могли бы как большинство JSской год обновлять 🤣
Страничка в каком-нибудь мемкеше лежит *кхе-кхе* с прошлого года 😆
Artyom
Проблема в том, что ты останешься в России, а от этого люди готовы бежать
один знакомый оттарабанил 4 года в фейсбуке в Лондоне, последние 2 года говорит ходил только из-за зп, сейчас вернулся к себе в провинцию в РФ.
Viktor
А что ему там не понравилось?
Не каждый сможет жить в другой стране на постоянку. Нельзя взять и выкинуть предыдущие 30 лет жизни, и заново родиться. Так не работает. Зависит от характера человека и причин почему ему так не нравится на родине, у всех уровень толерантности разный.
Viktor
Каждый год по 3 человека сбегает из Южной Кореи в Северную
Тоже поинт хороший. Надо смотреть на статистику остался / вернулся
Ilia
Как человек переживший один переезд в сознательном возрасте подтверждаю, через полгода-год начинается тоска, потом отпускает, или нет, никогда не знаешь что произойдёт )
Ilia
Да, я понимаю, просто интересно было бы узнать конкретные мнения
По разному бывает, есть один знакомый, год не досидели до гражданства в Германии, жена сказала что не может больше и с ребёнком уехала обратно в Москву, ну и он тоже вернулся. Я скорее про то, что иногда совсем личные причины бывают
Ilia
Коллега с прошлой работы после 15 в Ирландии вернулся, тоже по личным причинам, здоровье родителей и развод с женой
Ilia
Осталось найти работодателя такого
Ilia
Особенно когда ты в Лейпциге
Ilia
А это та ещё деревня
Artyom
я думаю это зависит от окружения и интеграции в общество
Artyom
еще чувак очень негативно отзывался об англичанках)
Viktor
А ещё есть кейс моего коллеги из Я, которому сделали офер в Гугл, в Калифорнию, они с женой посовещались и решили, что нос они видали этой Калифорнии — в Москве жилье, мама, друзья, зачем...
Artyom
ну да, в основном по молодости приключений хочется...
Viktor
ну да, в основном по молодости приключений хочется...
Все так. Только по молодости не всегда проходишь собес в Гугл 🤣
Lynn «Кофеман»
«Ей приключений хочется, а тут сиди в пещере…» ©
Ilia
Англичанках?
Менталитет женский в других странах отличается
Artyom
у меня знакомая фанатка италии, выучила итальянский до уровня носителя, ездила все время в какие-то семьи и монастыри, приняла католичество, завела себе в москве итальянку, поехала в итоге после универа в италию и написала, что очень разочаровалась в ней)
Ilia
Италия кайф, но надо быть готовым жить жизнью кабачка и что все вокруг такие
Artyom
ну не в том смысле), ради языка
Viktor
Когда один, наверное, такое проще провернуть. И особо ничем не отягощён.
Верно, но с другой стороны там от тоски можно сдохнуть одному 😄