fa
Feedback
LeetCode, GeeksForGeeks Problem of the day solution

LeetCode, GeeksForGeeks Problem of the day solution

رفتن به کانال در Telegram

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

نمایش بیشتر
1 250
مشترکین
+224 ساعت
+147 روز
+2930 روز
آرشیو پست ها
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; }