uz
Feedback
LeetCode, GeeksForGeeks Problem of the day solution

LeetCode, GeeksForGeeks Problem of the day solution

Kanalga Telegram’da oā€˜tish

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

Ko'proq ko'rsatish
1 250
Obunachilar
+224 soatlar
+147 kunlar
+2930 kunlar
Postlar arxiv
GFG | Problem of the day :

class Solution { public: vector countBits(int n) { vector ans(n+1, 0); for(int i=1; i<=n; i++){ ans[i]=ans[i>>1]+(i&1); } return ans; } };

LeetCode | Daily challenge :

void printCorner(Node *root) { queue q; q.push(root); int first, second; while (!q.empty()) { int size = q.size(); for (int i = 0; i < size; i++) { Node *node = q.front(); q.pop(); Node *left = node->left; if (left) { q.push(left); } Node *right = node->right; if (right) { q.push(right); } if (i == 0) { first = node->data; } if (i == size - 1) { second = node->data; } } if (size == 1) { cout << first << " "; } else { cout << first << " " << second << " "; } } }

GFG | Problem of the day :

class Solution { public: int minTaps(int n, vector& ranges) { vector jumps(n+1, 0); for (int i=0; icurFarthest) return -1; curFarthest = max(curFarthest, i + jumps[i]); if (i == curEnd) { count++; curEnd = curFarthest; } } return curFarthest >= n ? count : -1; } };

LeetCode | Daily challenge :

int height(Node *root){ if(!root) return 0; int leftHeight = height(root->left); int rightHeight = height(root->right); return (leftHeight>rightHeight?leftHeight:rightHeight)+1; } int bf(Node *root){ if(!root) return 0; int leftHeight = height(root->left); int rightHeight = height(root->right); return rightHeight-leftHeight; } Node *leftRotation(Node *x){ Node *y = x->right; Node *T = y->left; x->right = T; y->left = x; return y; } Node *rightRotation(Node *x){ Node *y = x->left; Node *T = y->right; x->left = T; y->right = x; return y; } int findMax(Node *head){ if(!head) return -1; while(head->left){ head = head->left; } return head->data; } Node* deleteNode(Node* root, int data) { //add code here, if(!root) return root; if(root->dataright = deleteNode(root->right,data); else if(root->data>data) root->left = deleteNode(root->left,data); else{ if(!root->left and !root->right){ Node *temp = root; root = NULL; delete(temp); }else if(!root->right){ Node *temp = root; root = root->left; delete(temp); }else if(!root->left){ Node *temp = root; root = root->right; delete(temp); }else{ int maximum = findMax(root->right); root->data = maximum; root->right = deleteNode(root->right,maximum); } } if(!root) return root; int bff = bf(root); if(bff>1 and bf(root->right)>=0) return leftRotation(root); else if(bff<-1 and bf(root->left)<=0) return rightRotation(root); else if(bff>1 and bf(root->right)<0){ root->right = rightRotation(root->right); return leftRotation(root); } else if(bff<-1 and bf(root->left)>0){ root->left = leftRotation(root->left); return rightRotation(root); } return root; }

GFG | Problem of the day :

class Solution { public: long long minimumReplacement(vector<int>& nums) { long long p=0; long long o =0; for(int i = nums.size()-1 ; i>0 ; i--){ if(nums[i-1] > nums[i] ){ p = nums[i-1]/nums[i]; if(nums[i-1] % nums[i] !=0) p++; nums[i-1] /= p; o += (p-1); } } return o; } };

LeetCode | Daily challenge :

Node* deleteNode(Node *head,int x) { if(head==NULL) { return head; } if(x==1) { return head->next; } Node* curr=head; for(int i=1;inext; } curr->next=curr->next->next; return head; }

GFG | Problem of the day :

class Solution { public: int bestClosingTime(string s) { int n=s.size(); int ind=-1,mxscore=0,score=0; for(int i=0;imxscore){ mxscore=score; ind=i; } } return ind+1; } };

LeetCode | Daily challenge :

class Solution { public: Node* reverse(Node* head){ Node* pre=NULL,*curr=head,*nxt=head->next; while(nxt!=NULL){ curr->next=pre; pre=curr; curr=nxt; nxt=nxt->next; } curr->next=pre; return curr; } Node *compute(Node *head) { if(head==NULL||head->next==NULL) return head; Node* curr=reverse(head); int cnt=curr->data; head=curr; while(curr!=NULL){ Node* p1=curr->next; while(p1!=NULL &&cnt>p1->data){ p1=p1->next; } curr->next=p1; curr=p1; if(p1!=NULL) cnt=p1->data; } head=reverse(head); return head; } };

GFG | Problem of the day :

class MyStack { public: queue q; MyStack() { } void push(int x) { q.push(x); for(int i=0;i

LeetCode | Daily challenge :

Node *removeDuplicates(Node *head) { if(head== NULL) { return NULL; } Node* curr=head; while(curr->next!= NULL) { if(curr->data==curr->next->data) { curr->next=curr->next->next; }else{ curr=curr->next; } } return head; }