Библиотека задач по C++ | тесты, код, задания
5.23K subscribers
575 photos
1 video
162 links
Задачи и тесты по C++ для тренировки и обучения.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/7a480301

Работать у нас: https://job.proglib.io/

Наши каналы: https://yangx.top/proglibrary/9197
加入频道
Задача Minimum Number of Operations to Move All Balls to Each Box (leetcode)

Во входных данных даётся массив, каждый элемент массива это коробка. В коробке может быть шарик. Необходимо посчитать сколько нужно действий чтобы переложить все шарики в одну коробку (минимальное количество), для каждой коробки

Пример 1
Input: boxes = «110»
Output: [1,1,3]

Пример 2
Input: boxes = «001011»
Output: [11,8,5,4,3,4]

👉 Ссылка

#tasks #middle

Решение (brute force)
class Solution {
public:
std::vector minOperations(std::string boxes) {
std::vector result;

for (int i = 0; i < boxes.length(); ++i) {
int count = 0;

for (int j = 0; j < boxes.length(); ++j) {
if (boxes[j] == '1') {
count += std::abs(i — j);
}
}
result.push_back(count);
}

return result;
}
};
Задача Subtract the Product and Sum of Digits of an Integer (leetcode)

Даётся целое число n, верните разницу между произведением его цифр и суммой его цифр

🔮 Подсказка
Можно использовать % для вычисления последней цифры

#tasks #junior

👉 1281. Subtract the Product and Sum of Digits of an Integer (leetcode)

👉 Решение
⚙️ Задача Number of Steps to Reduce a Number to Zero

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

Если число чётное то нужно поделить на 2, а если не чётное, то вычесть 1 и так пока не получится ноль

В принципе задача достаточно простая. Её можно решить как итеративным способом, так и рекурсивным. Есть способ, который позволяет получить результат за O(1), но для решения этого не требуется

#tasks #junior

👉 Рещение
💡Задача Shuffle String

Даётся строка s и массив индексов одинаковой длины. Строка s будет перетасована так, что символ в i-й позиции переместится на indices[i] в ​​перетасованной строке

Пример
Данные: s = «codeleet», indices = [4,5,6,7,0,2,1,3]
Результат: «leetcode»

#tasks #junior

👉Решение
💣 Задача Decompress Run-Length Encoded List

Есть список, в котором каждый элемент представляет собой пару чисел [freq, val], где freq — это целое число, обозначающее количество раз, которое нужно повторить число val. Ваша задача — разархивировать этот список, то есть создать новый список, в котором каждое число val повторяется freq раз

Пример
- Input: nums = [1,1,2,3]
- Output: [1,3,3]

Подсказка
- Задача простая, можно решить с помощью двух циклов

👉1313. Decompress Run-Length Encoded List (leetcode)

#junior #tasks

👉Решение