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

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

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

Для обратной связи: @proglibrary_feeedback_bot
加入频道
🔍 Равенство трех значений

Создайте функцию, которая принимает три целочисленных аргумента (a, b, c) и возвращает количество целых чисел, которые имеют одинаковое значение

📚 Подход к решению
• Предполагается использование условных конструкций (if)

Equality of 3 Values

#junior #algorithms #tasks

💡Решение
int equal(int a, int b, int c) {
int count = 0;

if (a == b || a == c)
count = 2;

if (b == c)
if (count < 2)
count = 2;
else
count = 3;

return count;
}
Перемешивание массива

Задача 1470 Shuffle the Array с leetcode

🔍 Условие
Дан массив nums, состоящий из 2n элементов в виде [x1,x2,...,xn,y1,y2,...,yn].
Нужно вернуть массив в виде [x1,y1,x2,y2,...,xn,yn]

📚 Подход к решению
• Из-за того что элемент x и y лежат друг от друга всегда на одинаковом расстоянии, то можно воспользоваться просто арифметической операцией сложения для поиска пары

#junior #algorithms #tasks

💡Решение
class Solution {
public:
vector shuffle(vector& nums, int n) {
vector result;
for (int i = 0; i < n; ++i) {
result.push_back(nums[i]);
result.push_back(nums[i + n]);
}
return result;
}
};
Поиск дубликатов

Задача 217 Contains Duplicate с leetcode

🔍 Условие
• Учитывая целочисленный массив nums, вернуть true, если хотя бы одно значение появляется как минимум дважды в массиве, и вернуть false, если каждый элемент уникален

📚 Подход к решению
• Из-за того что уникальных элементов меньше или равно исходному размеру входного массива, то можно просто сравнить эти величины

#middle #algorithms #tasks

💡Решение
class Solution {
public:
bool containsDuplicate(vector& nums) {
set testSet(nums.begin(), nums.end());
return testSet.size() < nums.size();
}
};