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 روز
آرشیو پست ها
class Solution { public: vector jugglerSequence(int n) { vectorans; ans.push_back(n); while(n >= 1){ if(ans[ans.size()-1]==1){ break; } double t = pow(ans[ans.size()-1],0.5); double t1 = t*t*t; if(ans[ans.size()-1] % 2 == 0){ ans.push_back(t); } else{ ans.push_back(t1); } if(ans[ans.size()-1]==1){ break; } } return ans; } };

GFG | Problem of the day :

class Solution { public: vector kthSmallestPrimeFraction(vector& arr, int k) { vector answer; int n = arr.size(); double left = 0, right = 1; while (right - left > 1e-9) { double mid = left + (right - left) / 2; int count = 0, p = -1, q = -1, j = 1; for (int i = 0; i < n - 1; ++i) { while (j < n && arr[i] > mid * arr[j]) ++j; count += n - j; if (j < n && (p == -1 || arr[p] * arr[j] < arr[q] * arr[i])) { p = i; q = j; } } if (count < k) left = mid; else right = mid; if (count == k) answer = {arr[p], arr[q]}; } return answer; } };

LeetCode | Daily challenge :

class Solution{ public: vector> ans; void solve(vector& arr, int index, vector& path ,long long sum, int k) { if(sum >= k) { if(sum == k) ans.push_back(path); return; } if(index >= arr.size()) { return; } path.push_back(arr[index]); solve(arr, index + 1, path, sum + arr[index], k); path.pop_back(); while(index + 1 < arr.size() && arr[index] == arr[index + 1]) index++; solve(arr, index + 1, path, sum, k); } vector> CombinationSum2(vector arr,int n,int k) { sort(arr.begin(), arr.end()); vector path; long long sum = 0; solve(arr, 0, path, sum, k); return ans; } };

GFG | Problem of the day :

class Solution { public: long long maximumHappinessSum(vector& happiness, int k) { sort(happiness.begin(),happiness.end()); int n = happiness.size(); int i = 0 ; long long ans = 0 ; while(i < k){ if(happiness[n-i-1]-i >= 0){ ans += happiness[n-i-1] - i ; } i++ ; } return ans ; } };

LeetCode | Daily challenge :

class Solution { public: bool divisorGame(int n) { return !(n%2); } };

GFG | Problem of the day :

class Solution { public: vector<string> findRelativeRanks(vector<int>& score) { priority_queue<int> pq; map<int,int> mp; for (int i=0; i<score.size(); i++){ mp[score[i]]= i; pq.push(score[i]); } int i=1; vector<string> ans(score.size(),""); while (!pq.empty()){ int curr= mp[pq.top()]; pq.pop(); if (i==1){ ans[curr]= "Gold Medal"; }else if (i==2){ ans[curr]= "Silver Medal"; }else if (i==3){ ans[curr]= "Bronze Medal"; }else{ ans[curr]= to_string(i); } i++; } return ans; } };

LeetCode | Daily challenge :

class Solution { public: vector> ans; void solve(Node*root,vector&temp){ if(root==NULL) return ; if(root->left==NULL and root->right==NULL){ temp.push_back(root->data); ans.push_back(temp); temp.pop_back(); return; } temp.push_back(root->data); solve(root->left,temp); solve(root->right,temp); if(!temp.empty()) temp.pop_back(); } vector> Paths(Node* root) { // code here vector temp; solve(root,temp); return ans; } };

GFG | Problem of the day :

class Solution { public: ListNode* doubleIt(ListNode* head) { ListNode* curr = head; ListNode* prev = NULL; while(curr!=NULL){ int newVal = curr->val * 2; curr->val = newVal<10 ? newVal : newVal % 10;; int carry = newVal>=10 ? 1 : 0; if(prev == NULL && carry >0){ ListNode* newHead = new ListNode(1); newHead->next = head; prev = head; head = newHead; } else if(prev!=NULL){ prev->val+=carry; } prev = curr; curr = curr->next; } return head; } };

LeetCode | Daily challenge :

vector reverseLevelOrder(Node *root) { vector ans; queue q; q.push(root); while(!q.empty()) { Node * cur = q.front(); q.pop(); ans.push_back(cur->data); if(cur->right!=nullptr) { q.push(cur->right); } if(cur->left!=nullptr) { q.push(cur->left); } } reverse(ans.begin(),ans.end()); return ans; }

GFG | Problem of the day :

class Solution { public: ListNode* reverse(ListNode* head){ ListNode* pre=NULL; ListNode* temp=head; while(temp!=NULL){ head=temp->next; temp->next=pre; pre=temp; temp=head; } return pre; } ListNode* removeNodes(ListNode* head) { head=reverse(head); ListNode* temp=head; while(temp->next){ if(temp->next->valval){ temp->next=temp->next->next; }else{ temp=temp->next; } } head=reverse(head); return head; } };

LeetCode | Daily challenge :