Leetcode contest
565 subscribers
176 photos
7 videos
2 files
59 links
Main channel @azamovme

Leetcode & Messages quotes from Estate developer
Download Telegram
Channel created
In this channel help tou u with weekly contest join us and improve ur rank )
Leetcode Weekly 419
A
C++


#include <vector>
#include <unordered_map>
#include <algorithm>

using namespace std;

class Solution {
public:
vector<int> findXSum(vector<int>& nums, int k, int x) {
int n = nums.size();
vector<int> answer;

for (int i = 0; i <= n - k; ++i) {
unordered_map<int, int> frequency;
for (int j = i; j < i + k; ++j) {
frequency[nums[j]]++;
}

vector<pair<int, int>> freqList;
for (const auto& entry : frequency) {
freqList.push_back({entry.second, entry.first});
}

sort(freqList.begin(), freqList.end(), [](const pair<int, int>& a, const pair<int, int>& b) {
if (a.first != b.first) return a.first > b.first;
return a.second > b.second;
});

int sum = 0;
int count = 0;
for (const auto& entry : freqList) {
int frequency = entry.first;
int value = entry.second;
if (count >= x) break;
sum += frequency * value;
count++;
}

answer.push_back(sum);
}

return answer;
}
};

Leetcode Weekly 419
A
C++
class Solution {
public:
pair<bool, int> checkPerfect(TreeNode* node) {
if (!node) return {true, 0};

auto leftResult = checkPerfect(node->left);
auto rightResult = checkPerfect(node->right);

if (leftResult.first && rightResult.first && leftResult.second == rightResult.second) {
return {true, leftResult.second + rightResult.second + 1};
}

return {false, 0};
}

void gatherPerfectSizes(TreeNode* node, vector<int>& subtreeSizes) {
if (!node) return;

auto result = checkPerfect(node);
if (result.first) {
subtreeSizes.push_back(result.second);
}

gatherPerfectSizes(node->left, subtreeSizes);
gatherPerfectSizes(node->right, subtreeSizes);
}

int kthLargestPerfectSubtree(TreeNode* root, int k) {
vector<int> subtreeSizes;
gatherPerfectSizes(root, subtreeSizes);

if (subtreeSizes.empty()) return -1;

sort(subtreeSizes.rbegin(), subtreeSizes.rend());

return (k <= subtreeSizes.size()) ? subtreeSizes[k - 1] : -1;
}
};

Leetcode Weekly 419
B
C++
Leetcode Weekly 419
B
C++

class Solution {
public:
pair<bool, int> checkPerfect(TreeNode* node) {
if (!node) return {true, 0};

auto leftResult = checkPerfect(node->left);
auto rightResult = checkPerfect(node->right);

if (leftResult.first && rightResult.first && leftResult.second == rightResult.second) {
return {true, leftResult.second + rightResult.second + 1};
}

return {false, 0};
}

void gatherPerfectSizes(TreeNode* node, vector<int>& subtreeSizes) {
if (!node) return;

auto result = checkPerfect(node);
if (result.first) {
subtreeSizes.push_back(result.second);
}

gatherPerfectSizes(node->left, subtreeSizes);
gatherPerfectSizes(node->right, subtreeSizes);
}

int kthLargestPerfectSubtree(TreeNode* root, int k) {
vector<int> subtreeSizes;
gatherPerfectSizes(root, subtreeSizes);

if (subtreeSizes.empty()) return -1;

sort(subtreeSizes.rbegin(), subtreeSizes.rend());

return (k <= subtreeSizes.size()) ? subtreeSizes[k - 1] : -1;
}
};

Leetcode Weekly 419
B
C++
hem 😮
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
do ur tasks
😮
Please open Telegram to view this post
VIEW IN TELEGRAM
do blowjob
😁2
😎
Please open Telegram to view this post
VIEW IN TELEGRAM
class Solution {
public String mergeAlternately(String word1, String word2) {
StringBuilder merged = new StringBuilder();
int i = 0, j = 0;
while (i < word1.length() || j < word2.length()) {
if (i < word1.length()) merged.append(word1.charAt(i++));
if (j < word2.length()) merged.append(word2.charAt(j++));
}
return merged.toString();
}
}
class Solution {
public String gcdOfStrings(String str1, String str2) {
if(str1.length() < str2.length()){
return gcdOfStrings(str2,str1);
}else if(!str1.startsWith(str2)){
return "";
}else if(str2.length() == 0){
return str1;
}else{
return gcdOfStrings(str1.substring(str2.length()),str2);
}
}
}
Leetcode contest
class Solution { public String gcdOfStrings(String str1, String str2) { if(str1.length() < str2.length()){ return gcdOfStrings(str2,str1); }else if(!str1.startsWith(str2)){ return ""; }else if(str2.length()…
For two strings s and t, we say "t divides s" if and only if s = t + t + t + ... + t + t (i.e., t is concatenated with itself one or more times).

Given two strings str1 and str2, return the largest string x such that x divides both str1 and str2.



Example 1:

Input: str1 = "ABCABC", str2 = "ABC"
Output: "ABC"
Example 2:

Input: str1 = "ABABAB", str2 = "ABAB"
Output: "AB"
Example 3:

Input: str1 = "LEET", str2 = "CODE"
Output: ""
😎
Please open Telegram to view this post
VIEW IN TELEGRAM
🗿