ar
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: int pivotInteger(int n) { int left = 2; int right= n-1; if (n < 2) return n; int leftSum = 1; int rightSum = n; int totalSum = (n * (n + 1)) /2; while(leftSum < totalSum && rightSum < totalSum && left < right){ if (leftSum < rightSum){ leftSum += left; left++; }else{ rightSum += right; right--; } } if (leftSum == rightSum) return left; else return -1; } };

LeetCode | Daily challenge :

class Solution{ public: vector matrixDiagonally(vector>&mat) { int n=mat.size(); vector ans(n*n,0); int k=0; bool up=true; int r=0,c=0; while(r0 && c0 && r

GFG | Problem of the day :

class Solution { public: ListNode* removeZeroSumSublists(ListNode* head) { ListNode* dummy = new ListNode(0), *cur = dummy; dummy->next = head; int prefix = 0; map m; while (cur) { prefix += cur->val; if (m.count(prefix)) { cur = m[prefix]->next; int p = prefix + cur->val; while (p != prefix) { m.erase(p); cur = cur->next; p += cur->val; } m[prefix]->next = cur->next; } else { m[prefix] = cur; } cur = cur->next; } return dummy->next; } };

GFG | Problem of the day :

class Solution { private: vector> mat; vector> res; void multiply(vector>& res, const vector>& mat, long long m) { vector> res1(3, vector(3, 0)); for (int i = 0; i < 3; ++i) { for (int j = 0; j < 3; ++j) { for (int k = 0; k < 3; ++k) { res1[i][j] += (res[i][k] * mat[k][j]) % m; res1[i][j] %= m; } } } for (int i = 0; i < 3; ++i) { for (int j = 0; j < 3; ++j) { res[i][j] = res1[i][j]; } } } void matrixExponentiation(long long n, long long m) { while (n > 0) { if (n & 1) { multiply(res, mat, m); } multiply(mat, mat, m); n /= 2; } } public: long long genFibNum(long long a, long long b, long long c, long long n, long long m) { res = vector>(3, vector(3, 0)); res[0][0] = res[1][1] = res[2][2] = 1; mat = vector>(3, vector(3, 0)); mat[0][0] = a; mat[0][1] = b; mat[0][2] = mat[1][0] = mat[2][2] = 1; mat[1][1] = mat[1][2] = mat[2][0] = mat[2][1] = 0; if (n <= 2) { return 1 % m; } else { matrixExponentiation(n - 2, m); return (res[0][0] + res[0][1] + c * res[0][2]) % m; } } };

GFG | Problem of the day :

class Solution { public: string customSortString(string order, string s) { string ret = ""; for (char c : order) { for (size_t i = 0U; i < s.size(); ++i) { if (c == s[i]) { ret += s[i]; s[i] = ';'; } } } for (char c : s) { if (c != ';') ret += c; } return ret; } };

LeetCode | Daily challenge :

class Solution{ public: bool check(vector> &mat2, int n, int x){ int i = 0; int j = n-1; while(i >= 0 && i < n && j >= 0 && j < n){ if(mat2[i][j] == x){ return true; } else if(mat2[i][j] < x){ i++; } else j--; } return false; } int countPairs(vector> &mat1, vector> &mat2, int n, int x) { // Your code goes here int cnt = 0; for(int i = 0;i < n;i++){ for(int j = 0;j < n;j++){ int c = x - mat1[i][j]; if(check(mat2,n,c)){ cnt++; } } } return cnt; } };

GFG | Problem of the day :

class Solution { public: vector intersection(vector& a1, vector& a2) { set s1(a1.begin(), a1.end()); set s2(a2.begin(), a2.end()); set s; set_intersection(s1.begin(), s1.end(), s2.begin(), s2.end(), inserter(s, s.begin())); vector res(s.begin(), s.end()); return res; } };

LeetCode | Daily challenge :

class Solution{ public: string removeDuplicates(string str) { vector v1(26,0),v2(26,0); string s=""; for(char& ch:str){ if(ch>='A'&&ch<='Z'){ if(v1[ch-'A']==0){ s.push_back(ch); } v1[ch-'A']++; } if(ch>='a'&&ch<='z'){ if(v2[ch-'a']==0){ s.push_back(ch); } v2[ch-'a']++; } } return s; } };

GFG | Problem of the day :

class Solution { public: int getCommon(vector& nums1, vector& nums2) { int i=0, j=0; int m = nums1.size(); int n = nums2.size(); while(inums2[j]){ j++; } else{ i++; } } return -1; } };

LeetCode | Daily challenge :

class Solution{ public: char nthCharacter(string s, int r, int n) { string temp = s; for (int i = 0;i < r; i++) { string ans = ""; for (auto j :temp) { if (j == '1') ans += "10"; else ans += "01"; if (ans.size()>n) break; } temp = ans; } return temp[n]; } };

GFG | Problem of the day :