Порридж В Ко-ливинге
@vitkarpov Ох уже эта кнопка записи аудио. Тут я уже 3их замечал за “записью голосового сообщения” 🤣 Случайно задеваете?
Viktor
Порридж В Ко-ливинге
Чет вообще в сегодняшней задачке не понимаю как использовать факт, что там всего 2 буквы. Как-то хэшировать чтоли 🤣
Evgeniy
Интересная задача на ДП: https://leetcode.com/problems/largest-1-bordered-square
Evgeniy
Вот моё решение. Если понравится, приму апвоут в дар :) https://leetcode.com/problems/largest-1-bordered-square/discuss/1099472/C-O(mn-*-min(mn))-DP-solution-beats-100
Evgeniy
Порридж В Ко-ливинге
Уничтожил кнопку апвоута 😊
Надеюсь не "нажал апвоут дважды"? 🤣
Viktor
Надеюсь не "нажал апвоут дважды"? 🤣
очень много раз, но главное чётное количество 😂
Порридж В Ко-ливинге
Какой ужас. У меня мозг просто subsequence превратил в substring. Глаза замыливаются
Порридж В Ко-ливинге
а в чем разница? 😃
То, что подряд не должны идти
Viktor
То, что подряд не должны идти
я тоже решал из расчета, что должны быть непрерывны.
Viktor
> if it is generated by deleting some characters of a given string without changing its order
Viktor
но ты прав, сейчас я вижу, что там не так.
Порридж В Ко-ливинге
я тоже решал из расчета, что должны быть непрерывны.
Я еще начал психовать, т.к. такой ужас и написано "изи"
Viktor
тогда получается любопытно, либо это уже палиндром либо всегда два? ну потому что любая такая строчка бьётся на две группы из одинаковых символов 😃
Viktor
ну, кроме пустой строки.
Viktor
это ж лол.
Viktor
очень смешная задача.
Viktor
на внимательность, я бы сказал.
Viktor
че-то я тоже пропустил эту строчку про подпоследовательность.
Roman
эх, 2 хинт прям сразу говорит о решение
Anonymous
Happy Monday! 👋 На этой неделе разбираемся с префиксными деревьями. Будем искать слова, которые могут быть составлены конкатенацией других слов. https://vitkarpov.me/posts/concatenated-words/
Тебе наверняка часто встречались ошибки, когда программа не запускалась из-за того, что ты забыл закрыть круглую или фигурную скобку. В этой задаче ты реализуешь аналогичную функциональность поиска непарных скобок или других символов. Напиши функцию CheckPairs, которая принимает три параметра: строку с исходным текстом и пару открывающий/закрывающий символы. Функция выводит в консоль текст Все в порядке, если каждому открывающему символу есть пара и они расставлены в правильном порядке. И текст Найдены ошибки в противном случае Обрати внимание, что в переданной строке следует искать именно те символы, которые переданы вторым и третьим аргументами using System; class Program { static void Main(string[] args) { Task.CheckPairs("Console.ReadLine();", '(', ')'); /* Все в порядке */ } } Sample Input 1: Console.ReadLine(); ( ) Sample Output 1: Все в порядке Sample Input 2: static void Main(string[] args) {] { } Sample Output 2: Найдены ошибки Sample Input 3: string][ fruits = {"Яблоко", "Апельсин", "Слива"}; [ ] Sample Output 3: Найдены ошибки
Viktor
Тебе наверняка часто встречались ошибки, когда программа не запускалась из-за того, что ты забыл закрыть круглую или фигурную скобку. В этой задаче ты реализуешь аналогичную функциональность поиска непарных скобок или других символов. Напиши функцию CheckPairs, которая принимает три параметра: строку с исходным текстом и пару открывающий/закрывающий символы. Функция выводит в консоль текст Все в порядке, если каждому открывающему символу есть пара и они расставлены в правильном порядке. И текст Найдены ошибки в противном случае Обрати внимание, что в переданной строке следует искать именно те символы, которые переданы вторым и третьим аргументами using System; class Program { static void Main(string[] args) { Task.CheckPairs("Console.ReadLine();", '(', ')'); /* Все в порядке */ } } Sample Input 1: Console.ReadLine(); ( ) Sample Output 1: Все в порядке Sample Input 2: static void Main(string[] args) {] { } Sample Output 2: Найдены ошибки Sample Input 3: string][ fruits = {"Яблоко", "Апельсин", "Слива"}; [ ] Sample Output 3: Найдены ошибки
Вот эта задача https://leetcode.com/problems/valid-parentheses/ , там есть разбор.
Viktor
Привет
я просто подумал ты спрашиваешь про задачу, на которую отвечаешь, то есть на разбор concatenated words. Думаю с чем же ты мучаешься, если там разбор 😃
Viktor
Вот эта задача https://leetcode.com/problems/valid-parentheses/ , там есть разбор.
Очень популярная задача для собеседований, кстати. Я сам её получал дважды, по-моему, в разных местах.
Anonymous
Happy Monday! 👋 На этой неделе разбираемся с префиксными деревьями. Будем искать слова, которые могут быть составлены конкатенацией других слов. https://vitkarpov.me/posts/concatenated-words/
class Task { public static void CheckPairs(string a, char b, char c) { char[] sim = new char[a.Length]; for (int i = 0; i < a.Length; i++) { if (b == a[i] || c == a[i]) { char sym = Convert.ToChar(a[i]); sim[i] = sym; } } int sum1 = 0; int sum2 = 0; int count2 = 0; int count1 = 0; for(int i = 0; i < a.Length; i++) { if(b == sim[i]) { count1++; sum1 = sum1+i; } if(c == sim[i]) { count2++; sum2 = sum2 + i; } } if (sum1 < sum2 && count1 == count2) Console.WriteLine("Все в порядке"); else Console.WriteLine("Найдены ошибки"); } }
Viktor
может тебе понравится мой вариант так же.
Ilia
а зачем 2 счетчика?
Ilia
Не проходит вот эта задача на степике на 6 шаге отлетаю
второй счетчик несет неверную информацию, поэтому и отваливаются тесты
Alex Azarov
Alex Azarov
Наконец-то нормальные доклады, пойму о чём вы тут говорите
Viktor
Найс! Должен быть так же наоборот.
Viktor
причем для одного конкретного девелопера 😃
Viktor
the swift developer
Viktor
звучит сильно
Порридж В Ко-ливинге
я просто подумал ты спрашиваешь про задачу, на которую отвечаешь, то есть на разбор concatenated words. Думаю с чем же ты мучаешься, если там разбор 😃
Тут случился *функционал телеграма*. Сообщения из комментариев отправляются в этот чат как ответ на пост, и мы это видем. А он видит только ответы на пост (как другие комментарии) и ответы на его комментарий
Порридж В Ко-ливинге
Упс
Давай заходи в группу @ctci_chat_ru
Порридж В Ко-ливинге
Ну вот, теперь будем нормально общаться 🤣
Anonymous
=)
Anonymous
Мда до стека, я ещё не добрался вчера до 2х ночи мучал мучал невымучал=)
Anonymous
Пока такое решение созрело вот думаю как бы проверить если стек пуст значит все ок
Anonymous
using System; using System.Collections.Generic; namespace ConsoleApp6 { class Program { static void Main(string[] args) { Task.CheckPairs("Console.ReadLine();", '(', ')'); /* Все в порядке */ } } class Task { public static void CheckPairs(string a, char b, char c) { var Sym = new Stack<char>(); for(int i = 0; i < a.Length; i++) { if(a[i] == b) { char sim = Convert.ToChar(a[i]); Sym.Push(sim); } } int f = Sym.Count; for (int i = 0; i <= f; i++) { if(a[i] == b) { char sim2 = Convert.ToChar(a[i]); if(sim2 == ')') { char simm= Sym.Peek(); if (simm == '(') Sym.Pop(); } if(sim2 == ']') { char simm = Sym.Peek(); if (simm == '[') Sym.Pop(); } if(sim2 == '}') { char simm = Sym.Peek(); if (simm == '{') Sym.Pop(); } } } } } }
Anonymous
Но что то кажется я тут Лес нагородил=(
Viktor
В коде я вижу просто обработку для других типов и как бы… зачем.
Anonymous
Вот задача
Anonymous
А так у тебя задача только один тип скобок поддержать или нет? Судя по тому, что в аргументах ты можешь передать одну открывающую и одну закрывающую — то один.
Тебе наверняка часто встречались ошибки, когда программа не запускалась из-за того, что ты забыл закрыть круглую или фигурную скобку. В этой задаче ты реализуешь аналогичную функциональность поиска непарных скобок или других символов. Напиши функцию CheckPairs, которая принимает три параметра: строку с исходным текстом и пару открывающий/закрывающий символы. Функция выводит в консоль текст Все в порядке, если каждому открывающему символу есть пара и они расставлены в правильном порядке. И текст Найдены ошибки в противном случае Обрати внимание, что в переданной строке следует искать именно те символы, которые переданы вторым и третьим аргументами using System; class Program { static void Main(string[] args) { Task.CheckPairs("Console.ReadLine();", '(', ')'); /* Все в порядке */ } } Sample Input 1: Console.ReadLine(); ( ) Sample Output 1: Все в порядке Sample Input 2: static void Main(string[] args) {] { } Sample Output 2: Найдены ошибки Sample Input 3: string][ fruits = {"Яблоко", "Апельсин", "Слива"}; [ ] Sample Output 3: Найдены ошибки
Viktor
Тебе наверняка часто встречались ошибки, когда программа не запускалась из-за того, что ты забыл закрыть круглую или фигурную скобку. В этой задаче ты реализуешь аналогичную функциональность поиска непарных скобок или других символов. Напиши функцию CheckPairs, которая принимает три параметра: строку с исходным текстом и пару открывающий/закрывающий символы. Функция выводит в консоль текст Все в порядке, если каждому открывающему символу есть пара и они расставлены в правильном порядке. И текст Найдены ошибки в противном случае Обрати внимание, что в переданной строке следует искать именно те символы, которые переданы вторым и третьим аргументами using System; class Program { static void Main(string[] args) { Task.CheckPairs("Console.ReadLine();", '(', ')'); /* Все в порядке */ } } Sample Input 1: Console.ReadLine(); ( ) Sample Output 1: Все в порядке Sample Input 2: static void Main(string[] args) {] { } Sample Output 2: Найдены ошибки Sample Input 3: string][ fruits = {"Яблоко", "Апельсин", "Слива"}; [ ] Sample Output 3: Найдены ошибки
ну да, надо работать только с одной парой скобок.