C++ Chanel
619 subscribers
44 photos
6 videos
53 links
Download Telegram
C++ Chanel
Задача на сегодня: https://leetcode.com/problems/buddy-strings/
Решение:
class Solution {
public:
bool buddyStrings(string s, string goal) {
if(s == goal)return false;
sort(s.begin(),s.end());
sort(goal.begin(),goal.end());

if(s.size()!=goal.size())return false;

for(int i = 0;i<s.size();i++){
if(s[i]!=goal[i])return false;
}

return true;
}
};
👍1
Решение:
class Solution {
public:
int maxArea(vector<int>& height) {
int left = 0;
int right = height.size()-1;
int result = 0;
for(;left<right;){
int temp = min(height[left],height[right])*(right-left);
result = max(result,temp);
if(height[left] < height[right])
left++;
else right--;
}

return result;
}
};
👍2
нужно ли выкладывать объяснение решения для задач?
👍7❤‍🔥1
👍1
C++ Chanel
Задача на сегодня: https://leetcode.com/problems/longest-substring-without-repeating-characters/
Решение:
class Solution {
public:
int lengthOfLongestSubstring(string s) {
int result = 0;
for(int i = 0;i<s.size();i++){
int counter = 0;
unordered_set<char> chae;
for(int j = i;j<s.size();j++){
counter++;
chae.insert(s[j]);
if(chae.size()==counter && result<counter)result = counter;
if(chae.size()!=counter) break;
}
}

return result;
}
};

объяснение скину чуть-чуть позже
C++ Chanel
Решение: class Solution { public: int lengthOfLongestSubstring(string s) { int result = 0; for(int i = 0;i<s.size();i++){ int counter = 0; unordered_set<char> chae; for(int j = i;j<s.size();j++){ …
сначала я создаю переменную результат которая и будет ответом на задачу,после этого я создаю цикл который проходит по всем буквам строки,создаю counter которая будет равна нулю каждый пройденный цикл.Дальше unordered_set(кто не знает это ассоциативный контейнер который не имеет одинаковых объектов например он не может иметь два 's' или два одинаковых числа)и потом сравниваю если кол-во элементов в сете равен нашему счету то мы делаем проверку,больше ли наш результат чем наш счет(counter),а если кол-во элементов не равно счету-выходим из первого цикла
Про unordered_set: https://runebook.dev/ru/docs/cpp/container/unordered_set
Если что-то непонятно-спрашивайте в комментариях.
👍1
Раньше создавал много сайтов на заказ,возможно кому нибудь интересно.

Если будет много реакций выложу исходники наработок сверху
6
C++ Chanel
Задача на сегодня: https://leetcode.com/problems/ugly-number/
Решение:
class Solution {
public:
bool isUgly(int n) {
if(n==0)return false;
bool running = true;
while(running){
if(n%2==0)n/=2;
else if(n%3==0)n/=3;
else if(n%5==0)n/=5;
else running = false;
}
cout<<n;
return n==1;
}
};

Задача очень простая , я думаю объяснение не нужно
C++ Chanel
Очень интересная задача сегодня на daily leetcode: https://leetcode.com/problems/transpose-matrix/
Решение:
class Solution {
public:
vector<vector<int>> transpose(vector<vector<int>>& matrix) {
vector<vector<int>> result(matrix[0].size());//создаем вектор в векторе типа инт,и сразу даем ему длинну любой ячейки matrix(в первом примере 3,во втором 2)
for(int i = 0;i<matrix[0].size();i++){//создаем цикл который будет проходить по любой ячейке matrix(matrix[0] - 1,2,3 его размер 3)
for(int j = 0;j<matrix.size();j++){//создаем цикл который будет проходить по каждой ячейке,в первом примере-3,во втором-2
result[i].push_back(matrix[j][i]);//и добавляем в наш вектор по числу,тут можно и логично посмотреть,объяснять не буду
}
}

return result;//возвращаем результат
}
};

Я добавил коментарии каждой строчки для понимания
👏4
что лучше esp 32 или esp8266?
Если смотреть по характеристикам то esp32 почти в два раза лучше(160-240 МГц,2 ядра),в то время как esp8266 имеет только одно ядро и работает на 80МГц.Также esp32 лучше чем arduino nano

Вообще что можно создавать на этих микроконтроллерах?
На них очень классно тренироваться,создавать какие-то проекты.Например раздача Wi-Fi через спец модуль,или создания веб сервера и управление подключенными датчиками.
esp32 это очень классная практика,можно поиграться поискать для себя что-то новое
1
Задача на сегодня:
https://leetcode.com/problems/find-the-original-array-of-prefix-xor/
Для решения этой задачи нужно знать что такое bitwise operator,оператор xor(^),если очень просто он используется для сравнения двух чисел в двоичной системе,либо сравнение двух битов.
https://www.geeksforgeeks.org/bitwise-operators-in-c-cpp/ для изучения
Решение:
class Solution {
public:
vector<int> findArray(vector<int>& pref) {
vector<int> result;
result.push_back(pref[0]);
for(int i = 0;i<pref.size()-1;i++){
result.push_back(pref[i]^pref[i+1]);
}
return result;
}
};
http://www.winprog.org/tutorial/start.html про WIN API для новичков.


https://learn.microsoft.com/en-us/windows/win32/learnwin32/learn-to-program-for-windows а вообще стоит и это пройти
Задача на сегодня:
Числа Армстронга до n,
Числа Армстронга это число которое равно своим числам в степени длинны числа n.
Например: 153 = 1^3 + 5^3 + 3^3,
407 = 4^3 + 0^3 + 7^3,
9474 = 9^4 + 4^4 + 7^4 + 4^4
👍1