Резюме первой недели лагеря передовых алгоритмов переднего плана бутылки

внешний интерфейс алгоритм

Я г-н Бутылка, 31 марта я запустил деятельность «Расширенный алгоритм переднего плана», чтобы построить полную структуру данных и систему алгоритмов от 0 до 1. Прошла неделя, и за эту неделю мы сделали:

Один, две серии статей:

Два, четыре вопроса алгоритма:

Вопрос 1: Графический литкод: объединить два отсортированных массива

дает вам два отсортированных целочисленных массиваnums1 а также nums2, ты будешьnums2Слияние доnums1в, сделатьnum1становится упорядоченным массивом.

проиллюстрировать:

инициализацияnums1а такжеnums2Количество элементовmа такжеn. вы можете предположитьnums1Места достаточно (размер пространства больше или равенm + n) сохранитьnums2элементы в .

Пример:

输入:
nums1 = [1,2,3,0,0,0], m = 3
nums2 = [2,5,6],       n = 3

输出: [1,2,2,3,5,6]

Отвечать: GitHub.com/sister/JA…

Второй вопрос: Вопрос алгоритма Tencent: выравнивание массива, дедупликация, сортировка

Известны следующие массивы: var arr = [[1, 2, 2], [3, 4, 5, 5], [6, 7, 8, 9, [11, 12, [12, 13, [14]] ] ] ], 10];

Напишите программу для выравнивания массива и удаления повторяющейся части данных и, наконец, получения восходящего и неповторяющегося массива.

Отвечать: GitHub.com/sister/JA…

Вопрос 3: Байт и литкод: сумма двух чисел

задан массив целых чиселnumsи целевое значениеtarget, пожалуйста, найдите тот, чья сумма является целевым значением в массиведвацелые числа и возвращают их индексы массива.

Можно предположить, что для каждого входа будет только один ответ. Однако вы не можете повторно использовать одни и те же элементы в этом массиве.

Пример:

给定 nums = [2, 7, 11, 15], target = 9

因为 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]

Отвечать: GitHub.com/sister/JA…

Вопрос 4: leetcode: Имея два массива, напишите функцию для вычисления их пересечения

Имея два массива, напишите функцию для вычисления их пересечения.

Пример 1:

输入: nums1 = [1,2,2,1], nums2 = [2,2]
输出: [2]

Пример 2:

输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4]
输出: [9,4]

проиллюстрировать:

Каждый элемент в выходных данных должен быть уникальным. Мы можем игнорировать порядок вывода результатов.

Сегодня новая тема, добро пожаловатьGitHub.com/sister/JA…Ответьте, ответ будет дан мистеру Бутылке завтра

👏👏👏👏👏

3. Зачем изучать алгоритмы?

Нужно ли вам изучать алгоритмы на переднем конце? Должен учиться, и должен учиться усердно⛽️. Сейчас я иду на большую фабрику на собеседование.Структуры данных и алгоритмы уже стандартны.Если нет, то в принципе пропущу большую фабрику.

Что касается внешнего интерфейса, хотя мы редко пишем алгоритмы в обычной разработке, когда нам нужно углубиться в интерфейсные фреймворки, языки разработки и библиотеки с открытым исходным кодом, понимание алгоритмов значительно улучшит нашу способность читать исходный код. Например:

  • Алгоритм diff виртуального дома сделал некоторые соглашения, а затем уменьшил временную сложность исходного O (n ^ 3 ^) до O (n).Основной принцип - поиск в глубину дерева
  • Babel Это знание синтаксического анализатора некоторых принципов компиляции для создания абстрактных синтаксических деревьев, а затем преобразования абстрактных синтаксических деревьев для создания файлов.
  • История браузера, нижний слой можно реализовать с помощью стека
  • Оптимизация встряхивания деревьев в WebPack
  • Стеки вызовов, очереди сообщений и многое другое в v8

Они используют множество алгоритмов, и если вы их поймете, вы сможете лучше понять их производительность, более эффективно решать проблемы, улучшить качество нашего кода и видение мышления, перейти на более высокий уровень и заработать больше денег 💰💰💰.

Поэтому изучение алгоритмов является обязательным для каждого продвинутого фронтенда! ⛽️⛽️⛽️

Сейчас на рынке много алгоритмических данных, но очень мало алгоритмов для фронтенда, поэтому здесь я собрал серию структур данных и алгоритмов, подходящих для фронтенда, в надежде помочь вам построить полная структура данных от 0 до 1. и система алгоритмов.

По оценкам, в этой серии более 40 статей, и первые две статьи были обновлены. Если вы хотите узнать больше и быстрее из этой серии, вы можете подписаться на публичный аккаунт «Front-end Bottle Master» и на мой Github (GitHub.com/sister/JA…),欢迎在 issus 上提出遇到的算法题,瓶子君会不定期解答。 😊

4. Познакомьтесь с большим количеством фронтенд-даосов и вместе продвигайте фронтенд-разработку

Первый этап тренировочного лагеря фронтенд-алгоритма открыт бесплатно🎉🎉🎉, он бесплатный!

Здесь вы можете продвигать интерфейсные алгоритмы с друзьями-единомышленниками (500+) и создавать полную структуру данных и систему алгоритмов от 0 до 1.

Здесь мистер Боттл не только представляет алгоритм, но и объединяет алгоритм с различными полями интерфейса, включая браузеры, HTTP, V8, React, исходный код Vue и т. д.

Здесь вы можете каждый день изучать большую задачу по заводскому алгоритму (Ali, Tencent, Baidu, Byte и т. д.) или литкоду, а мистер Боттл ответит на него на следующий день!

Больше преимуществ ждут вас, чтобы разблокировать🔓🔓🔓!

Отсканируйте код, чтобы присоединиться к [Группе обмена алгоритмами переднего плана],Если срок действия QR-кода истек, вы можете ответить на «алгоритм» в официальном аккаунте «Front-end Bottle Gentleman», чтобы немедленно присоединиться.😊😊😊

Добро пожаловать, чтобы сосредоточиться на «Front-end Bottle Master», там есть не только алгоритмы, но и различные передовые статьи! 👍👍👍

В конце концов, жизнь – это не только работа, учеба, но и поэзия, и дальние страны.Совершенствуя себя, можно хорошо наслаждаться жизнью.