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 أيام
أرشيف المشاركات
GFG | Problem of the day :

class Solution { public: int solve(vector>&obstacleGrid, int i, int j, vector>& dp){ if(i<0 || j<0){ return 0; } if(i==0 && j==0){ return 1; } if(obstacleGrid[i][j]==1){ return 0; } if(dp[i][j] != -1){ return dp[i][j]; } int up = solve(obstacleGrid, i-1, j, dp); int left = solve(obstacleGrid, i, j-1, dp); return dp[i][j] = up+left; } int uniquePathsWithObstacles(vector>& obstacleGrid) { int m=obstacleGrid.size(); int n=obstacleGrid[0].size(); int i=m-1; int j=n-1; if(obstacleGrid[0][0]==1 || obstacleGrid[m-1][n-1]==1){ return 0; } vector> dp(m, vector(n, -1)); return solve(obstacleGrid, i, j, dp); } };

LeetCode | Daily challenge :

class Solution { public: //Function to find length of longest increasing subsequence. int longestSubsequence(int n, int a[]) { vector temp; temp.push_back(a[0]); for(int i=1;i

GFG | Problem of the day :

class Solution { public: int change(int amount, vector& coins) { vector dp(amount+1, 0); dp[0] = 1; for(int i=0;i=0){ dp[j] += dp[j-coins[i]]; } } } return dp[amount]; } };

LeetCode | Daily challenge :

class Solution { public: long long int count(int coins[], int N, int sum) { vector prev(sum + 1, 0); fill(prev.begin(), prev.end(), 0); for (int i = 0; i <= sum; i++) { if (i % coins[0] == 0) { prev[i] = 1; } } for (int i = 1; i < N; i++) { vector curr(sum + 1, 0); fill(curr.begin(), curr.end(), 0); for (int j = 0; j <= sum; j++) { long long int a, b; a = b = 0; a = prev[j]; if (j >= coins[i]) { b = curr[j - coins[i]]; } curr[j] = a + b; } prev = curr; } return prev[sum]; } };

GFG | Problem of the day :

class Solution { public: bool binarySearch(int s, int e, int &target, vector<int> &nums){ if(s>e) return false; int mid = (s+e)/2; if(nums[mid]==target) return true; else if(nums[mid]>target) return binarySearch(s, mid-1, target, nums); return binarySearch(mid+1, e, target, nums); } bool search(vector<int>& nums, int target) { int idx=0; for(int i=1; i<nums.size(); i++){ if(nums[i-1]>nums[i]) idx = i; } return binarySearch(0, idx-1, target, nums)|binarySearch(idx, nums.size()-1, target, nums); } };

LeetCode | Daily challenge :

class Solution { public: //Function to find the length of longest common subsequence in two strings. int lcs(int n, int m, string s1, string s2) { vectorprev(m+1,0),cur(m+1,0); for(int i = 1;i<=n;i++){ for(int j = 1;j<=m;j++){ if(s1[i-1] == s2[j-1]){ cur[j] = 1 + prev[j-1]; } else { cur[j] = fmax(cur[j-1],prev[j]); } } prev = cur; } return cur[m]; } };

GFG | Problem of the day :

class Solution { public: int minimizeMax(vector& A, int p) { sort(A.begin(), A.end()); int n = A.size(), left = 0, right = A[n - 1] - A[0]; while (left < right) { int mid = (left + right) / 2, k = 0; for (int i = 1; i < n && k < p; ++i) { if (A[i] - A[i - 1] <= mid) { k++; i++; } } if (k >= p) right = mid; else left = mid + 1; } return left; } };

LeetCode | Daily challenge :

class Solution{ public: long long int largestPrimeFactor(int N){ long long ans = 0; for(long long i = 2 ; i * i <= N ; i++) { if(N % i == 0) { ans = max(ans , i); while(N % i == 0) { N = N / i; } } } ans = max(ans , (long long)N); return ans; } };

GFG | Problem of the day :

class Solution { public: int getPivot(vector<int>& nums){ int s = 0; int e = nums.size()-1; while(s<e){ int mid = s + (e-s)/2; if(nums[mid]>=nums[0]){ s = mid+1; } else{ e = mid; } } return s; } int binarySearch(vector<int>& nums, int s, int e, int key){ while(s<=e){ int mid = s +(e-s)/2; if(nums[mid]==key){ return mid; } else if(nums[mid]>key){ e = mid- 1; } else{ s = mid +1; } } return -1; } int search(vector<int>& nums, int target) { int pivot = getPivot(nums); int n = nums.size(); if(target >= nums[pivot] && target <= nums[n-1]){ return binarySearch(nums, pivot, n-1, target); } else{ return binarySearch(nums, 0, pivot-1, target); } } };

LeetCode | Daily challenge :

class Solution { public: int countFractions(int n, int num[], int den[]) { unordered_map mp; int count = 0; for(int i = 0; i < n; i++) { int gcd = __gcd(num[i], den[i]); double nm = num[i] / gcd; double dm = den[i] / gcd; double x = (dm - nm) / dm; double y = (nm / dm); if(mp[x] > 0) count = count + mp[x]; mp[y]++; } return count; } };