es
Feedback
LeetCode, GeeksForGeeks Problem of the day solution

LeetCode, GeeksForGeeks Problem of the day solution

Ir al canal en Telegram

Complete daily challenges from LeetCode, GeeksForGeeks and redeem their rewards Channel link : https://t.me/leetcode_gfg_potd

Mostrar más
1 250
Suscriptores
+224 horas
+147 días
+2930 días
Archivo de publicaciones
GFG | Problem of the day :

class Solution { public: bool leafSimilar(TreeNode* root1, TreeNode* root2) { vector arr, brr; helper(root1, arr); helper(root2, brr); return (arr == brr); } void helper(TreeNode* node, vector& vec) { if(node == NULL) return; if(node -> left == NULL && node -> right == NULL) vec.push_back(node -> val); helper(node -> left, vec); helper(node -> right, vec); } };

LeetCode | Daily challenge :

class Solution { public: vector search(string pat, string txt) { vector ans; int index = txt.find(pat, 0); while (index != string::npos) { ans.push_back(index + 1); index = txt.find(pat, index + 1); } return ans; } };

GFG | Problem of the day :

class Solution { public: int sum = 0; void inorder(TreeNode* root, int L, int R){ if(root->left)inorder(root->left, L, R); if(root->val>=L && root->val<=R)sum+=root->val; if(root->right)inorder(root->right, L, R); } int rangeSumBST(TreeNode* root, int L, int R) { inorder(root, L, R); return sum; } };

LeetCode | Daily challenge :

class Solution { public: struct Node* reverse(Node *head) { Node *temp = NULL; Node *prev = NULL; Node *current = head; while(current != NULL) { temp = current->next; current->next = prev; prev = current; current = temp; } return prev; } struct Node * mergeResult(Node *node1,Node *node2) { if(node2==NULL) { return reverse(node1); } if(node1==NULL) { return reverse(node2); } if(node2->data>node1->data) { return mergeResult(node2,node1); } Node * curr1=node1; Node * prev1=node1; Node * curr2=node2->next; Node * prev2=node2; while(curr1!=NULL && curr2!=NULL) { if(curr1->data<=curr2->data) { curr1=curr1->next; prev2->next=prev1; prev1->next=curr2; prev2=prev1; prev1=curr1; } else if(curr1->data>curr2->data) { curr2=curr2->next; prev2=prev2->next; } } if(curr1!=NULL) { prev2->next=curr1; } return reverse(node2); } };

GFG | Problem of the day :

class Solution { public: int numberOfArithmeticSlices(vector& nums) { long long ans = 0, n = nums.size(); vector> dp(n); for (int i = 0; i < n; ++i) { for (int j = 0; j < i; ++j) { long long diff = (long long)nums[i] - (long long)nums[j]; dp[i][diff]++; if (dp[j].count(diff)) { dp[i][diff] += dp[j][diff]; ans += dp[j][diff]; } } } return ans; } };

LeetCode | Daily challenge :

class Solution { public: bool check(int arr[],int n,int k,int t){ int sum = 0; for(int i = 0;i<n;i++){ sum+=arr[i]; if(k == 0) return false; if(sum == t){ sum = 0; k--; } else if(sum >t){ sum = arr[i]; if(arr[i]>t) return false; k--; } } if(sum!=0 and k == 0) return false; return true; } int splitArray(int arr[] ,int N, int K) { int l = 1; int r = accumulate(arr,arr+N,0ll); int ans; while(l<=r){ int mid = l+(r-l)/2; if(check(arr,N,K,mid)){ ans = mid; r = mid-1; } else{ l = mid+1; } } return ans; } };

GFG | Problem of the day :

class Solution { public: int jobScheduling(vector& startTime, vector& endTime, vector& profit) { auto comp = [&endTime](const int i1, const int i2) { return endTime[i1] < endTime[i2]; }; int n = endTime.size(); vector index(n); iota(index.begin(), index.end(), 0); sort(index.begin(), index.end(), comp); vector endSorted(endTime.begin(), endTime.end()); sort(endSorted.begin(), endSorted.end()); vector dp(n + 1); for (int i = 1; i <= n; i++) { int j = upper_bound(endSorted.begin(), endSorted.end(), startTime[index[i-1]]) - endSorted.begin(); dp[i] = max(dp[i-1], profit[index[i-1]] + dp[j]); } return dp[n]; } };

LeetCode | Daily challenge :

class Solution { public: int sumOfPowers(int a, int b) { int mod = 1e9 + 7; std::vector primes(b + 1, 0); for (int i = 2; i <= b; i++) { if (primes[i] == 0) { for (int j = i; j <= b; j += i) { int count = 0; int temp = j; while (temp % i == 0) { temp /= i; count++; } primes[j] += count; } } } int result = 0; for (int i = a; i <= b; i++) { result = (result + primes[i]) % mod; } return result; } };

GFG | Problem of the day :

class Solution { public: int lengthOfLIS(vector& nums) { vector temp; temp.push_back(nums[0]); for(int i=1;i

LeetCode | Daily challenge :

class Solution{ int mod = 1e9 + 7; public: int TotalWays(int N) { long long prev1 = 1, prev2 = 1; for(int i = 1; i <= N; i++) { long long curr = (prev1 + prev2) % mod; prev2 = prev1; prev1 = curr; } return (prev1 * prev1) % mod; } };