Виталик Голоенко
Igor
интересный алгоритм ;) всего 676 пар ;)
Виталик Голоенко
но если у нас например "pp" то все совсем иначе ибо оно уже палиндром и может быть "el" "pp" "le" и мое выдаст 4 хотя должно 6
Igor
угу ход мыслей правильный ;)
Виталик Голоенко
и мы должны это как-то отлавливать
Виталик Голоенко
string rev = it->first; reverse(rev.begin(), rev.end()); has_single_pol = it->first == rev?true:false; } } return has_single_pol ? result+2:result;
Виталик Голоенко
я так ловил
Igor
смотри палиндромы есть четные и не четные ... в твоем случае они все четные ... но будем считать парами . Когда есть смысл строить не четный палиндром?
Igor
не четный в смысле не четное кол-во пар в нашей задаче
Иаков
Чё за... Типа, 1600 - это минимальная частота?
N1k0l4$
Подскажите пожалуйста, почему при такой разнице промисы приходят в разном виде? Можно ли без метода .then получить сразу нормальный json?
N1k0l4$
Сидредин
Можно ли без метода .then получить сразу нормальный json? Нельзя, конечно. Это же промис
Виталик Голоенко
ну почти ...
других случаев нема же
Igor
других случаев нема же
есть же ;) иначе бы было не почти смотри 'pp' может быть 1,2,3,4,5... штук ;) сорри если это просто
Сидредин
Ты получаешь промис, т.е. буквально "обещание" о том, что позже получишь данные. С then ты получишь данные, когда они придут, а без него ты получишь только promise
Igor
а ну да
в каких случаях нужно строить не четный палиндром
Виталик Голоенко
когда у нас нечетное кол-во пар в которых две одинавое буквы
Igor
когда у нас нечетное кол-во пар в которых две одинавое буквы
да и еще один момент ... в цент поставить можно только 1 раз т.е если у нас 'aa' и 'pp' как не крути а не четную пару мы можем сунуть только раз
Igor
Собственно все
Сидредин
Почитай про промисы, посмотри видосы, пиши разные варианты кода с ними, думай как промис!
Виталик Голоенко
Собственно все
осталось всего лиш написать код)
Иаков
Igor
Что это?
я тебе предлагаю загуглить ;) есть FSB а есть так называемая эффективная частота вот 3200 это эффективная а 1600 это FSB
N1k0l4$
Ты получаешь промис, т.е. буквально "обещание" о том, что позже получишь данные. С then ты получишь данные, когда они придут, а без него ты получишь только promise
По типу "денег нет но вы держитесь". А могу ли я через then присвоить в поле класса результат? Потому что у меня он андефаинд, или это из-за разделения потоков?
N1k0l4$
posts у меня паблик поле
Сидредин
Когда ты вызываешь последнюю команду - this.posts ещё не содержит нужные данные. Это надо понять
Виталик Голоенко
я тебе предлагаю загуглить ;) есть FSB а есть так называемая эффективная частота вот 3200 это эффективная а 1600 это FSB
а вот если у нас le el el el что делать надо? мы сначала занесем le потом увидим первую el result+=4; и.. шо потом? при следующей el у нас опять будет +4 хотя нам оно не надо
Igor
le : 1 el: 3 min(3,1)*4 и больше эти пары не трога
Сидредин
Ты можешь в предпоследней строке добавить код, который будет выводить данные из промиса на странице, а ещё лучше - в консоли, чтобы ты видел, как всё работает. А в последней строчке выводи в консоль любую строку
N1k0l4$
Увидел. А могу ли я как-то основной поток заставить подождать промис?
Vyacheslav
Увидел. А могу ли я как-то основной поток заставить подождать промис?
Если основной поток встаёт ждать данные это синхронная фиговина То есть просто подряд вызываете функции же Убираешь все ожидания и тогда код ждёт каждую функцию в реалтайме Ничо больше не работает, потому что вызов функции с данными его заблокировал
N1k0l4$
Убрав все async и await теперь не могу получить джейсон. Я прошу прощения, что правда так много вопросов вместо гугла задаю, сам я гуглить это несколько дней буду, а очень хочется попробовать хотя бы главную страничку для своего рест приложения реализовать
Сидредин
@N1k0l4S да, промисы нужны, например, для того, чтобы страница не ждала большие данные с сервера, а сразу загрузилась, оставив "окошки" для этих данных. А после их получения эти окошки будут заполнены
Сидредин
Спокойной ночи, мальчики и девочки
N1k0l4$
Спокойной ночи. Спасибо за направление, щас буду видосики тогда смотреть
Виталик Голоенко
le : 1 el: 3 min(3,1)*4 и больше эти пары не трога
class Solution { public: int longestPalindrome(vector<string>& words) { int result = 0; bool has_single = false; map<string, int>all_words; for(int i = 0; i < words.size();i++){ auto it = all_words.find(words[i]); if(it == all_words.end()) all_words.insert(make_pair(words[i], 1)); else (it->second)++; } for(auto it = all_words.begin(); it != all_words.end();it++){ string rev = it->first; std::reverse(rev.begin(), rev.end()); auto it_rev = all_words.find(rev); if(it_rev != all_words.end()){ if(it_rev == it && it->second % 2 != 0){ if(!has_single){ has_single = true; } else{ result-=2; } } result += min(it->second, it_rev->second) * 2; } } return result; } }; чуть чуть правда намудрил но работает)
Виталик Голоенко
ну работает это хорошо ;) теперь попробуй чтобы было красиво ;)
а может просто к некст задаче рас уж работает)?
Igor
а может просто к некст задаче рас уж работает)?
нет у тебя сильно много кода ... это раз. А еще полезно придумывать другое решение. Подумай может вместо мапа использовать что то другое ...
Igor
мне кажется map самое практичное
ну во первых если говорить про скорость то маленький мап всегда можно заменить массивом. Но я говорил не об этом ;)
Igor
подсказка?
ну можно юзать мультисет ... за одно новую структуру выучить ;)
Lamignonne
Здравствуйте
Виталик Голоенко
ну можно юзать мультисет ... за одно новую структуру выучить ;)
ща ток загуглю хоть шо это ато понапридумывали map unordered_map hash_map multi_map
Lamignonne
Возможно очень глупый вопрос, но подскажите пожалуйста, macbook air late 2010 хватит для чего-нибудь в программировании?
Lamignonne
это вроде core2duo?
Да, и 2гб оперативной памяти ахахахах
Igor
ну для чего нибудь хватит ... но все таки это уже сильно уставшая машинка ... нужно добавлять память и ставить ссд...но даже в этом случае проц все же староват ;(
Krabs
😔
David
Привет всем. Такая штука, ноутбук старенький, разьема под 2 диска нет (hdd, ssd). Хочу попробовать поставить ssd вместо дисковода. Но дисковод диски не читает, не работает. Увидит ли диск?
Igor
Привет всем. Такая штука, ноутбук старенький, разьема под 2 диска нет (hdd, ssd). Хочу попробовать поставить ssd вместо дисковода. Но дисковод диски не читает, не работает. Увидит ли диск?
скорее всего ты говоришь про сиди привод ... скорее всего через него слишком много пыли всосало и не работает он потому что оптика сдохла ... это один из частых вариантов. Ну а так да никто не исключал случай что сдох порт.
Lamignonne
А какой ноут для того чтобы начать взять?
Роман
А какой ноут для того чтобы начать взять?
Зависит от того какое направление предпочтешь. Если в общем то минимум 4 ядра и оперативки минимум 8, а лучше 16
Vyacheslav
А какой ноут для того чтобы начать взять?
Чтобы начать возьми тот ноут который у тебя есть уже и просто начни Пройдет немало времени, прежде чем твой ноут перестанет тянуть проекты которые ты будешь писать