

- Главная
- Каталог
- Интернет технологии
- C/C++ | LeetCode
C/C++ | LeetCode
Решения и разбор задач с LeetCode по языку программирования C / C++
Статистика канала
Полная статистикаchevron_right
Input: tomatoSlices = 16, cheeseSlices = 7
Output: [1,6]{}
class Solution {
public:
vector<int> numOfBurgers(int tomatoSlices, int cheeseSlices) {
if (tomatoSlices % 2 != 0 || tomatoSlices < 2 * cheeseSlices || tomatoSlices > 4 * cheeseSlices) {
return {};
}
int total_jumbo = (tomatoSlices - 2 * cheeseSlices) / 2;
int total_small = cheeseSlices - total_jumbo;
return {total_jumbo, total_small};
}
};{}
Ставь 👍 и забирай 📚 Базу знаний
Input: n = 3, k = 1
Output: [1,2,3]
Explanation: The [1,2,3] has three different positive integers ranging from 1 to 3, and the [1,1] has exactly 1 distinct integer: 1{}
class Solution {
public:
vector<int> constructArray(int n, int k) {
vector<int> answer;
int left = 1, right = n;
for (int i = 0; i <= k; i++) {
if (i % 2 == 0) {
answer.push_back(left++);
} else {
answer.push_back(right--);
}
}
if (k % 2 == 0) {
for (int i = right; i >= left; i--) {
answer.push_back(i);
}
} else {
for (int i = left; i <= right; i++) {
answer.push_back(i);
}
}
return answer;
}
};{}
Ставь 👍 и забирай 📚 Базу знаний
Input: root = [3,9,20,null,null,15,7]
Output: [3.00000,14.50000,11.00000]{}
class Solution {
public:
vector<double> averageOfLevels(TreeNode* root) {
vector<double> result;
queue<TreeNode*> queue;
queue.push(root);
while (!queue.empty()) {
long sum = 0;
int count = queue.size();
for (int i = 0; i < count; i++) {
TreeNode* node = queue.front();
queue.pop();
sum += node->val;
if (node->left) queue.push(node->left);
if (node->right) queue.push(node->right);
}
result.push_back((double) sum / count);
}
return result;
}
};{}
Ставь 👍 и забирай 📚 Базу знаний
Input: s = "()"
Output: 1{}
class Solution {
public:
int scoreOfParentheses(string S) {
return F(S, 0, S.size());
}
int F(string S, int i, int j) {
int ans = 0, bal = 0;
for (int k = i; k < j; ++k) {
bal += S[k] == '(' ? 1 : -1;
if (bal == 0) {
if (k - i == 1) ans++;
else ans += 2 * F(S, i + 1, k);
i = k + 1;
}
}
return ans;
}
};{}
Ставь 👍 и забирай 📚 Базу знаний
Input: p = [1,2,3], q = [1,2,3] Output: true
{}
class Solution {
public:
bool isSameTree(TreeNode* p, TreeNode* q) {
if (!p && !q) return true;
if (!q || !p) return false;
if (p->val != q->val) return false;
return isSameTree(p->right, q->right) && isSameTree(p->left, q->left);
}
};{}
Ставь 👍 и забирай 📚 Базу знаний
Input
["HitCounter", "hit", "hit", "hit", "getHits", "hit", "getHits", "getHits"]
[[], [1], [2], [3], [4], [300], [300], [301]]
Output
[null, null, null, null, 3, null, 4, 3]
Explanation
HitCounter hitCounter = new HitCounter();
hitCounter.hit(1); // hit at timestamp 1.
hitCounter.hit(2); // hit at timestamp 2.
hitCounter.hit(3); // hit at timestamp 3.
hitCounter.getHits(4); // get hits at timestamp 4, return 3.
hitCounter.hit(300); // hit at timestamp 300.
hitCounter.getHits(300); // get hits at timestamp 300, return 4.
hitCounter.getHits(301); // get hits at timestamp 301, return 3.{}
#include <queue>
class HitCounter {
public:
HitCounter() {}
void hit(int timestamp) {
hits.push(timestamp);
}
int getHits(int timestamp) {
while (!hits.empty() && timestamp - hits.front() >= 300) {
hits.pop();
}
return hits.size();
}
private:
std::queue<int> hits;
};{}
Ставь 👍 и забирай 📚 Базу знаний
Input: arr = [0,2,1,-6,6,-7,9,1,2,0,1]
Output: true{}
class Solution {
public:
bool canThreePartsEqualSum(vector<int>& arr) {
int total_sum = accumulate(arr.begin(), arr.end(), 0);
if (total_sum % 3 != 0) {
return false;
}
int target = total_sum / 3, part_sum = 0, count = 0, n = arr.size();
for (int i = 0; i < n; ++i) {
part_sum += arr[i];
if (part_sum == target) {
++count;
part_sum = 0;
if (count == 2 && i < n - 1) {
return true;
}
}
}
return false;
}
};{}
Ставь 👍 и забирай 📚 Базу знаний
Input: n = 5, edges = [[0,1],[1,2],[3,4]]
Output: 2
{}
class Solution {
public:
int countComponents(int n, vector<vector<int>>& edges) {
vector<vector<int>> adj(n);
for (const auto& edge : edges) {
adj[edge[0]].push_back(edge[1]);
adj[edge[1]].push_back(edge[0]);
}
vector<bool> visited(n, false);
int count = 0;
for (int i = 0; i < n; i++) {
if (!visited[i]) {
dfs(i, adj, visited);
count++;
}
}
return count;
}
private:
void dfs(int node, const vector<vector<int>>& adj, vector<bool>& visited) {
stack<int> stack;
stack.push(node);
while (!stack.empty()) {
int current = stack.top();
stack.pop();
if (!visited[current]) {
visited[current] = true;
for (int neighbor : adj[current]) {
if (!visited[neighbor]) stack.push(neighbor);
}
}
}
}
};{}
Ставь 👍 и забирай 📚 Базу знаний
Input: root = [1,null,2,2]
Output: [2]{}
class Solution {
public:
vector<int> findMode(TreeNode* root) {
vector<int> values;
dfs(root, values);
int maxStreak = 0, currStreak = 0, currNum = 0;
vector<int> ans;
for (int num : values) {
if (num == currNum) {
currStreak++;
} else {
currStreak = 1;
currNum = num;
}
if (currStreak > maxStreak) {
ans = {num};
maxStreak = currStreak;
} else if (currStreak == maxStreak) {
ans.push_back(num);
}
}
return ans;
}
private:
void dfs(TreeNode* node, vector<int>& values) {
if (!node) return;
dfs(node->left, values);
values.push_back(node->val);
dfs(node->right, values);
}
};{}
Ставь 👍 и забирай 📚 Базу знанийОтзывы канала
всего 2 отзыва
- Добавлен: Сначала новые
- Добавлен: Сначала старые
- Оценка: По убыванию
- Оценка: По возрастанию
Каталог Телеграм-каналов для нативных размещений
C/C++ | LeetCode — это Telegam канал в категории «Интернет технологии», который предлагает эффективные форматы для размещения рекламных постов в Телеграмме. Количество подписчиков канала в 3.4K и качественный контент помогают брендам привлекать внимание аудитории и увеличивать охват. Рейтинг канала составляет 5.2, количество отзывов – 2, со средней оценкой 5.0.
Вы можете запустить рекламную кампанию через сервис Telega.in, выбрав удобный формат размещения. Платформа обеспечивает прозрачные условия сотрудничества и предоставляет детальную аналитику. Стоимость размещения составляет 1818.18 ₽, а за 6 выполненных заявок канал зарекомендовал себя как надежный партнер для рекламы в TG. Размещайте интеграции уже сегодня и привлекайте новых клиентов вместе с Telega.in!
Вы снова сможете добавить каналы в корзину из каталога
Комментарий