Условие: Дано целое число, нужно переконвертировать данное число в сумму, слагаемых должно быть не менее двух. А само разложение должно осуществляться таким образом, что произведение слагаемых будет максимальным.
В результате необходимо получить это самое произведение.
Пример:
Ввод:
n = 2
Вывод:
1
Объяснение:
2 = 1 + 1, 1 × 1 = 1.
Ввод:
n = 10
Вывод:
36
Объяснение:
10 = 3 + 3 + 4, 3 × 3 × 4 = 36.
📌 Решение
@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Текущий официальный стандартный компилятор Go по-прежнему делает много ненужных проверок на связанность.
Все связанные проверки в следующем коде фактически не нужны, можете объяснить почему ?: https://github.com/golang/go/issues/64272
@golang_interview
Все связанные проверки в следующем коде фактически не нужны, можете объяснить почему ?: https://github.com/golang/go/issues/64272
@golang_interview
Сложность: Средняя
Условие задачи: На входе имеем список возможных кандидатов и целевое значение суммы, необходимо вывести все комбинации, которыми можно получить целевое значение.
Каждое число из списка кандидатов должно содержаться в конечном подсписке из ответов ровно один раз.
Результирующий ответ не должен содержать в себе дубликатов.
Пример:
Ввод:
candidates = [10,1,2,7,6,1,5], target = 8
Вывод:
[
[1,1,6],
[1,2,5],
[1,7],
[2,6]
]
Ввод:
candidates = [2,5,2,1,2], target = 5
Вывод:
[
[1,2,2],
[5]
]
Пишите свое решение в комментариях👇
🔗 Решение
Please open Telegram to view this post
VIEW IN TELEGRAM
https://github.com/miketromba/highest-paying-software-companies
@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
🔧 12 инструментов аутентификации с открытым исходным кодом, которые помогут вам создавать лучшие приложения, некоторые из них написаны на golang
https://permit.io/blog/top-12-open-source-auth-tools
@golang_interview
https://permit.io/blog/top-12-open-source-auth-tools
@golang_interview
💡Задача: Идеальное число
Условие: идеальное число - это положительное целое число, которое равно сумме делителей этого же числа, за исключением самого числа.
Необходимо проверить входное число на идеальность.
Пример:
Ввод: num = 28
Вывод: true
Объяснение: 28 = 1 + 2 + 4 + 7 + 14
Ввод: num = 7
Вывод: false
👉 Решение
Пишите свое решение в комментариях👇
@golang_interview
Условие: идеальное число - это положительное целое число, которое равно сумме делителей этого же числа, за исключением самого числа.
Необходимо проверить входное число на идеальность.
Пример:
Ввод: num = 28
Вывод: true
Объяснение: 28 = 1 + 2 + 4 + 7 + 14
Ввод: num = 7
Вывод: false
Пишите свое решение в комментариях👇
@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Условие: дается ненаправленный граф, ребра которого представлены в массиве. Между каждой парой узлов в дереве имеется не более одного ребра.
Необходимо определить существует ли корректная дорога между узлом source и destination.
Пример:
Ввод: n = 3, edges = [[0,1],[1,2],[2,0]], source = 0, destination = 2
Вывод: true
Объяснение: *во вложении
Ввод: n = 6, edges = [[0,1],[0,2],[3,5],[5,4],[4,3]], source = 0, destination = 5
Вывод: false
📌 Решение
Пишите свое решение в комментариях👇
@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
WebAssembly позволяет запускать в браузере код низкоуровневых языков, таких как C, C++, Rust и Go. Мы компилируем Go-код в байт-код, и когда инстанцируем его в теге html-скрипта или JS-коде, среда выполнения браузера создает виртуальную машину для выполнения кода WebAssembly (wasm). Для распараллеливания выполнения WASM с основным потоком может использоваться веб-воркер.
Виртуальная машина задействует компилятор JUST IN TIME, который преобразует байт-код в машинный, а также может производить оптимизацию в зависимости от аппаратного обеспечения. WASM безопасен, поскольку работает в среде “песочницы” и не может получить доступ к аппаратному обеспечению базовой системы.
Когда мы загружаем или инстанцируем wasm, мы получаем модуль, который является пакетом Go-кода. При инстанцировании создается экземпляр wasm, являющийся отдельным контекстом выполнения модуля.
Хватит теории — перейдем к коду.
@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Условие: дается два массива, каждый элемент в котором представлен отрезком, значения которого соответствуют соответственно началу и концу.
Необходимо вывести результирующий массив, внутри которого будут представлены отрезки пересечения двух исходных массивов.
Пример:
Ввод: firstList = [[0,2],[5,10],[13,23],[24,25]], secondList = [[1,5],[8,12],[15,24],[25,26]]
Вывод: [[1,2],[5,5],[8,10],[15,23],[24,24],[25,25]]
Ввод: firstList = [[1,3],[5,9]], secondList = []
Вывод: [ ]
Решение
Пишите свое решение в комментариях👇
@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Условие: дается массив, в котором содержатся на температуры за определенный день. Необходимо вернуть массив, такой что будет содержать на i-ой позиции количество дней, которое необходимо выждать, чтобы наступил день теплее. Если такой ситуации не случается, то на i-ой позиции установить 0.
Пример:
Ввод: temperatures = [73,74,75,71,69,72,76,73]
Вывод: [1,1,4,2,1,1,0,0]
Ввод: temperatures = [30,40,50,60]
Вывод: [1,1,1,0]
Решение
Пишите свое решение в комментариях👇
@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Сложность: Лёгкая
Условие задачи: Дан корень двоичного дерева, верните сумму наклона каждого узла дерева.
Наклон узла дерева - это абсолютная разница между суммой всех значений узла левого поддерева и всех значений узла правого поддерева. Если узел не имеет левого дочернего элемента, то сумма значений узла левого поддерева обрабатывается как 0. Правило аналогично, если у узла нет правого дочернего элемента.
Пример:
Ввод:
root = [1,2,3]
Вывод: 1
Ввод:
root = [4,2,9,3,5,null,7]
Вывод: 15
📌 Решение задачи
Пишите свое решение в комментариях👇
@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Условие: дается n-сумок, пронумерованных с нуля. Дается также два массива, проиндексированных аналогичным образом: capacity и rocks. i-а сумка может вмещать capacity[i] камней и в текущий момент содержит уже rocks[i] каменей. Помимо этого дается еще additionalRocks, число камней, которые можно добавить в произвольную сумку.
Необходимо вычислить максимальное количество сумок, которое получится при ситуации, когда все дополнительные камни размещены.
Пример:
Ввод: capacity = [2,3,4,5], rocks = [1,2,4,4], additionalRocks = 2
Вывод: 3
Ввод: capacity = [10,2,2], rocks = [2,2,0], additionalRocks = 100
Вывод: 3
Решение
Пишите свое решение в комментариях👇
@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Сложность: Низкая
Условие : на вход подается номер столбца, необходимо конвертировать его в буквенное представление, которое будет использоваться в таблице-Excel.
Пример:
Ввод:
columnNumber
= 1Вывод: "
A
"Ввод:
columnNumber
= 28Вывод: "
AB
"▪Решение
Пишите свое решение в комментариях👇
@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Условие: дано дерево (т.е. связанный неориентированный граф, не имеющий циклов) с корнем в узле 0, состоящее из n узлов, пронумерованных от 0 до n - 1. Дерево представлено родительским массивом с индексом 0 размера n, где родительский элемент[i] является родительским элементом узла i. Поскольку узел 0 является корневым, родительский элемент[0] == -1.
Вам также выдаются строки длиной n, где s[i] - символ, присвоенный узлу i.
Возвращает длину самого длинного пути в дереве таким образом, чтобы ни одной паре соседних узлов пути не был присвоен один и тот же символ.
Пример:
Ввод: parent = [-1,0,0,1,1,2], s = "abacbe"
Вывод: 3
Ввод: parent = [-1,0,0,0], s = "aabc"
Вывод: 3
Решение
Пишите свое решение в комментариях👇
@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Сегодня мы рады поделиться с вами инструментом под названием deadcode, который поможет вам выявить их.
$ go install golang.org/x/tools/cmd/deadcode@latest
$ deadcode -help
The deadcode command reports unreachable functions in Go programs.
Usage: deadcode [flags] package...
https://go.dev/blog/deadcode
@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Сложность: Средняя
Условие задачи: Рабочий IP-адрес состоит ровно из четырех целых чисел, разделенных одиночными точками. Каждое целое число находится в диапазоне от 0 до 255 (включительно) и не может содержать начальных нулей.
Например, "0.1.2.201" и "192.168.1.1" являются допустимыми IP-адресами, но "0.011.255.245", "192.168.1.312" и "[email protected] " являются недопустимыми IP-адресами.
Учитывая строку s, содержащую только цифры, верните все возможные действительные IP-адреса, которые могут быть сформированы путем вставки точек в s. Вам не разрешается изменять порядок или удалять какие-либо цифры в s. Вы можете вернуть действительные IP-адреса в любом порядке.
Пример:
Ввод:
s = "25525511135"
Вывод:
["255.255.11.135","255.255.111.35"]
Ввод:
s = "0000"
Вывод:
["0.0.0.0"]
📌 Решение задачи
Пишите свое решение в комментариях👇
@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM