Перейти к содержимому

Avito / Авито (скрининг) - 3

Актуальность: 4 кв 2025

Задача: Есть список отзывов на товар, который содержит текст отзыва и оценку товара в звездах (от 1 до 5). Необходимо сгруппировать отзывы с одинаковыми оценками. algorithms/data-structures

Заголовок раздела «Задача: Есть список отзывов на товар, который содержит текст отзыва и оценку товара в звездах (от 1 до 5). Необходимо сгруппировать отзывы с одинаковыми оценками. algorithms/data-structures»
// Пример
// ### in
// reviews = [
// {text: "Отлично!", rating: 5}, {text: "Хороший товар ", rating: 4}, {text: "Ожидал большего ", rating: 3},
// {text: "Не оправдал ожиданий ", rating: 1}, {text: "Все как в описании ", rating: 5}, {text: "Не понравилось ", rating: 1}
// ]
// ### out
// { 5: ["Отлично!", "Все как в описании "], 4: ["Хороший товар "], 3: ["Ожидал большего "], 1: ["Не оправдал ожиданий ", "Не понравилось "] }
// алгоритмическая сложность O(n)
// потребление памяти O(n)
type Review struct {
Text string
Rating int8
}

Задача: У нас есть объект [Продавец ID] -> [Список городов, где он осуществляет услуги]. Необходимо по запрошенным городам вернуть такой же объект только с продавцами, у которых есть желаемые населенные пункты, лишнее надо откинуть. algorithms/data-structures

Заголовок раздела «Задача: У нас есть объект [Продавец ID] -> [Список городов, где он осуществляет услуги]. Необходимо по запрошенным городам вернуть такой же объект только с продавцами, у которых есть желаемые населенные пункты, лишнее надо откинуть. algorithms/data-structures»
// Пример
// ### in
// sellers = {
// 1: ['Москва ','Самара ','Ростов '],
// 2: ['Москва ','Самара ','Ростов ','Казань ','Курган ','Пенза '],
// 3: ['Самара ','Ростов ','Курган ','Пенза '],
// 4: ['Москва ','Казань ','Тула '],
// }
// cities = ['Москва ','Казань ','Тула ']
// ### out
// {
// 1: [Москва],
// 2: [Москва, Казань],
// 4: [Москва, Казань, Тула],
// }
// алгоритмическая сложность: O(?)
// потребление памяти: O(?)
Заголовок раздела «Задача: У нас на сайте ввели лайки для продавцов. Решив собрать статистику, обнаружили, что данные разложены по 2м соответствующим спискам. Необходимо вернуть имена продавцов от наибольшего количества лайков к наименьшему algorithms/sorting-search»
// Пример
// ### in
// names = ["Seller1 ","Seller2 ","Seller3 "]
// likes = [18,15,17]
// ### out
// ["Seller1 ","Seller3 ","Seller2”]
// алгоритмическая сложность: O(?)
// потребление памяти: O(?)