Хочу найти такую задачу:
Дана строка s массив слов a, разбейте s на слова a так, что как можно меньше символов не принадлежали никаким словам.
Если s = 'aabbac' и a = {'aabb', 'c', 'aab', 'bac'} я ожидаю, что s будет разбит как , а не как так как в последнем случае есть лишний символ.
Я уверен, что где-то в сети есть такая задача, может ли кто-нибудь дать мне на нее ссылку?
Спасибо.
Лучше скажи, за сколько ты умеешь ее решать.
Ну за O(|s| * |a|) вроде просто.
лучше скажи, что ты девочка...
Роза-то все равно не для тебя цвела ;(;(;(
Знатоки баянов, где вы? Аууу! Отзовитесь!
Нет, ну серьезно. Я не вижу в решении за ни одной новой идеи. Такие задачи обязательно должны где-то разбираться.
Идея решения в первой правке.
spoiler
Извиняюсь за неправильную постановку акцента в комментарии.
Здесь еще один спойлер.
Спрячь и ты свой комментарий, пожалуйста.
можно заметить... (см. правку)
Идея красивая, в сравнении с моим описанием все серьезно упрощается.
Однако, ...
А их точно не более?
Например, слова
"a";"ab";"abc"
Это приблизительная оценка. Если более точно — пусть у нас k строк с возрастающей длиной. Их суммарная длина будет не меньше . Отсюда легко можно вычислить оценку сверху на k через n:
UPD: Прочитал правку следующего комментария, теперь все нормально. Но все же, не очень удобный способ общаться правками.
Спасибо всем знатокам, ваша помощь оказалась для автора бесценной. Я уж не знаю, какими цензурными словами критиковать зеленого участника, создавшего этот пост.
P.S. На случай внезапного удаления поста: его автор спрашивает о задаче SPOJ MORSE.
Оно?
Here is the link
Medium https://oj.leetcode.com/problems/word-break/
Hard https://oj.leetcode.com/problems/word-break-ii/
Hope this may help you ...