7#

Ущелье | Думай по-кодерски — эпизод 6. Alex Rosenthal - видеоролик

Изучайте английский язык с помощью параллельных субтитров ролика "Ущелье | Думай по-кодерски — эпизод 6". Метод интервальных повторений для пополнения словарного запаса английских слов. Встроенный словарь. Всего 827 книг и 2706 познавательных видеороликов в бесплатном доступе.

страница 2 из 3  ←предыдущая следующая→ ...

00:02:42
but will get the job done.
но тем не менее позволяющий найти ответ.
Naïve solutions are helpful ways to analyze problems,
Наивные решения — это полезные способы анализа задач,
and work as stepping stones to better solutions.
промежуточные ступени на пути к более рациональному решению.
In this case, a naïve solution is to approach a pile of blocks,
В данном случае наивным решением будет взять груду блоков,
try all the arrangements,
перебрать все сочетания
00:02:57
and see if one is a palindrome by reading it forward and then backwards.
и узнать, будет ли одно из них палиндромом.
The problem with this approach
Проблема этого метода в том,
is that it would take a tremendous amount of time.
что это займёт огромное количество времени.
If Hedge tried one combination every second,
Даже если Хедж будет пробовать одно сочетание в секунду,
a stack of just 10 different blocks would take him 42 days to exhaust.
на груду из всего десяти блоков у него уйдёт 42 дня.
00:03:13
That’s because the total time is a function of the factorial
А всё потому, что общее время — это факториал
of the number of blocks there are.
количества блоков.
10 blocks have over 3 million combinations.
Из 10 блоков можно составить более 3 миллионов сочетаний.
What this naïve solution shows is that we need a much faster way
Это наивное решение демонстрирует, что нам необходим более быстрый способ
to tell whether a pile of blocks can form a palindrome.
определения, можно ли создать палиндром из данных блоков.
00:03:31
To start, it may be intuitively clear that a pile of all different blocks
Для начала, мы можем интуитивно понять, что груда, где все блоки разные,
will never form one. Why?
никогда не сформирует палиндром. Почему?
The first and last blocks can’t be the same if there are no repeats.
Первый и последний блоки не могут быть одинаковыми, если нет повторений.
So when can a given sequence become a palindrome?
Так когда же последовательность может стать палиндромом?
One way to figure that out is to analyze a few existing palindromes.
Один способ разобраться — проанализировать несколько существующих палиндромов.
00:03:52
In ANNA, there are 2 A’s and 2 N’s.
В примере ANNA две буквы A и две буквы N.
RACECAR has 2 R’s, 2 A’s, 2 C’s, and 1 E.
В примере RACECAR — две буквы R, две A, две C и одна E,
And MADAM IM ADAM has 4 M’s, 4 A’s, 2 D’s, and 1 I.
а в MADAM IM ADAM — четыре M, четыре A, две D и одна I.
The pattern here is that most of the letters occur
Схема здесь такова, что большинство букв повторяются
an even number of times,
чётное количество раз,
00:04:12
and there’s at most 1 that occurs just once.
и максимум одна может не иметь пары.
Is that it?
И это всё?
What if RACECAR had 3 E’s instead of 1?
Что, если бы в слове RACECAR было три буквы E, а не одна?
We could tack the new E’s onto the ends and still get a palindrome,
Мы могли бы разместить их в начале и конце слова, и это был бы палиндром,
so 3 is ok.
поэтому три буквы допустимы.
00:04:25
But make that 3 E’s and 3 C’s, and there’s nowhere for the last C to go.
Но если взять три E и три C, то последней букве C не будет места.
So the most generalized insight is that
То есть наиболее обобщённый вывод таков:
at most one letter can appear an odd number of times,
максимум одна буква может повторяться нечётное количество раз,
but the rest have to be even.
а все остальные должны быть в чётном количестве.
Hedge can count the letters in each stack and organize them into a dictionary,
Хедж может подсчитать буквы в каждой груде и упорядочить их в виде словаря;
скачать в HTML/PDF
share