Интересные задачи для программистов

danforth
На сайте с 18.12.2015
Offline
153
#41

hakuna matata, на Go такое пишется изи, у меня было и 100к грин-тредов, шлющих куда-то данные.

Junior Web Developer
HM
На сайте с 14.01.2012
Offline
223
#42

danforth, изи если ты кодер, а я нет. Посоветуй что почитать?

У меня уровень нулевой, отправить много запросов я даже смогу наверно, а вот обработать их асинхронно - не уверен. Как это делать правильно?

danforth
На сайте с 18.12.2015
Offline
153
#43

hakuna matata, Go tour.

Есть ещё одна очень легенькая задачка, но по которой можно определить как человек умеет оптимизировать код:

Есть список чисел, например [3, 2, 4], а также целевое число 6. Необходимо вернуть индексы из массива, сумма значений которых будет равна целевому числу. Если в результате есть несколько комбинаций, нужно вернуть первую.

Например, [3, 2, 4] и целевое число 6.

2 + 4 = 6, у 2 индекс 1, а у 4 индекс 2, возвращаем массив с индексами [1, 2].

Например, [1, -4, 6, 9, 4, 3, 8], и целевое число 5.

5 = -4 + 9, у -4 индекс 1, а у 9 индекс 3, возвращаем [1, 3]

Сигнатура функции принимает массив чисел, и целевое число, возвращает массив чисел (длина массива два элемента):


class Solution:
def twoSum(self, nums: List[int], target: int) -> List[int]:


class Solution {

/**
* @param Integer[] $nums
* @param Integer $target
* @return Integer[]
*/
function twoSum($nums, $target) {

}
}

Решения кидайте прямо сюда, желательно ссылками на pastebin, чтобы не палить спойлеры с решениями.

У меня получилось две реализации, первую написал "в тупую", вторую - оптимизировал.

tommy-gung
На сайте с 22.11.2006
Offline
287
#44

https://pastebin.com/Fs9kNa4J пусть тоже полежит

Здесь не могла быть ваша реклама
danforth
На сайте с 18.12.2015
Offline
153
#45

tommy-gung, решение рабочее, но можно оптимизировать) первая реализация у меня тоже так работала, это первое что приходит в голову.

Sly32
На сайте с 29.03.2012
Offline
303
#46

Для поиска первой пары индексов:

https://pastebin.com/3zZ45mts

Return я немного изменил, соответственно тайпхинты в условии тоже подкорректировал, думаю это несущественно, но нагляднее

danforth
На сайте с 18.12.2015
Offline
153
#47

Sly32, ты сменил сигнатуру, если поменяешь сигнатуру как в задаче (аргументы и типы у функции должны совпадать, без кортежей), то смогу загнать твою функцию в бенчмарк и тесты.

У тебя такое же решение как у tommy-gung, но его можно улучшить, если подумать как.

Sly32
На сайте с 29.03.2012
Offline
303
#48

danforth, Так правильно?

https://pastebin.com/3zZ45mts

Навалилось работы счас, поэтому это первое решение что пришло в голову и оно далековато от оптимального, понимаю, причем если искать все индексы для числа - попадут дубли - отсюда видно что неоптимал, может позже поиграюсь еще

danforth
На сайте с 18.12.2015
Offline
153
#49
Sly32:
danforth, Так правильно?
https://pastebin.com/3zZ45mts
Навалилось работы счас, поэтому это первое решение что пришло в голову и оно далековато от оптимального, понимаю, причем если искать все индексы для числа - попадут дубли - отсюда видно что неоптимал, может позже поиграюсь еще

В твоей функции нет аргументов, она их берет из объекта. Вот тот код что я скинул для питона, тебе нужно внутри функции написать код, без селфов

Gerga
На сайте с 02.08.2015
Offline
94
#50
danforth:
Решения кидайте прямо сюда, желательно ссылками на pastebin, чтобы не палить спойлеры с решениями.
У меня получилось две реализации, первую написал "в тупую", вторую - оптимизировал.

Пример реализации на php https://pastebin.com/xxQ1TZ10

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий