es
Feedback
LeetCode, GeeksForGeeks Problem of the day solution

LeetCode, GeeksForGeeks Problem of the day solution

Ir al canal en Telegram

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

Mostrar más
1 250
Suscriptores
+224 horas
+147 días
+2930 días
Archivo de publicaciones
GFG | Problem of the day :

class Solution { public: int dp[2000][2000]; bool f(int ind, int k, unordered_map &mp, int target, vector &stones){ if(ind==target) return true; if(dp[ind][k]!=-1) return dp[ind][k]; bool res = false; if(k>1 && mp[stones[ind]+k-1]){ res |= f(mp[stones[ind]+k-1],k-1,mp,target,stones); } if(k && mp[stones[ind]+k]){ res |= f(mp[stones[ind]+k],k,mp,target,stones); } if(mp[stones[ind]+k+1]){ res |= f(mp[stones[ind]+k+1],k+1,mp,target,stones); } return dp[ind][k] = res; } bool canCross(vector& stones) { unordered_map mp; memset(dp,-1,sizeof(dp)); for(int i=0; i

LeetCode | Daily challenge :

class Solution { public: string reverseWord(string str) { int s = 0; int e = str.size()-1; while(s

GFG | Problem of the day :

class Solution { public: static bool comp(vector&v1,vector&v2) { return v1[1]>& pairs) { sort(pairs.begin(),pairs.end(),comp); int sm=pairs[0][1]; int ct=1; for(int i=1;i

LeetCode | Daily challenge :

class Solution{ public: int longestKSubstr(string s, int k) { int maxi = -1e9; unordered_map mp; int n = s.size(); int i=0; for(int j=0;jk){ while(mp.size()>k){ mp[s[i]]--; if(mp[s[i]]==0){ mp.erase(s[i]); } i++; } } } if(maxi==-1e9){ return -1; } return maxi; } };

GFG | Problem of the day :

class Solution { public: bool check(string &s1,string &s2,string &s3,int i,int j,int k,vector>&dp){ if(dp[i][j]!=-1)return dp[i][j]; if(i==s1.length() and j==s2.length() and k==s3.length()) return true; bool res=false; if(i!=s1.length()) if(s1[i]==s3[k]) res|=check(s1,s2,s3,i+1,j,k+1,dp); if(j!=s2.length()) if(s2[j]==s3[k]) res|=check(s1,s2,s3,i,j+1,k+1,dp); return dp[i][j]=res; } bool isInterleave(string s1, string s2, string s3) { int n=s1.length(),m=s2.length(); vector> dp(n+1,vector(m+1,-1)); bool ans=check(s1,s2,s3,0,0,0,dp); return ans; } };

LeetCode | Daily challenge :

class Solution{ public: int isPalindrome(string S) { string S2 = S; reverse(S.begin(), S.end()); return S==S2; } };

GFG | Problem of the day :

class Solution { public: vector fullJustify(vector& words, int maxWidth) { int n = words.size(); vector ans; int i=0; while(i0){ line+=" "; extra--; } line+=words[k]; } } ans.push_back(line); i=j; } return ans; } };

LeetCode | Daily challenge :

class Solution{ public: /*You are required to complete below function */ string multiplyStrings(string s1, string s2) { if (s1 == "0" || s2 == "0") return "0"; int sign = 1; if (s1[0] == '-') { sign *= -1; s1 = s1.substr(1); } if (s2[0] == '-') { sign *= -1; s2 = s2.substr(1); } string ans(s1.length() + s2.length(), '0'); for (int i = s2.length() - 1; i >= 0; i--) { int carry = 0; for (int j = s1.length() - 1; j >= 0; j--) { int product = (s1[j] - '0') * (s2[i] - '0') + (ans[i + j + 1] - '0') + carry; carry = product / 10; ans[i + j + 1] = (product % 10) + '0'; } ans[i] += carry; } int start = 0; while (start < ans.length() - 1 && ans[start] == '0') { start++; } string result = ans.substr(start); if (sign == -1 && result != "0") { result = "-" + result; } return result; } };

GFG | Problem of the day :

class Solution { public: string reorganizeString(string s) { priority_queue<pair<int,char>>q; int dp[26] = {0}; for(int i=0;i<s.size();i++){ dp[s[i]-'a']++; } for(int i=0;i<26;i++){ char t = (char)('a'+i); if(dp[i]>0){ //cout<<dp[i]<<endl; q.push({dp[i],t}); } } string ans = ""; while(q.size()>1){ auto t1 = q.top(); q.pop(); auto t2 = q.top(); q.pop(); ans += t1.second; ans += t2.second; if(t1.first>1){ q.push({t1.first-1,t1.second}); } if(t2.first>1){ q.push({t2.first-1,t2.second}); } } if(q.size()==1){ auto t = q.top(); q.pop(); if(t.first>1){ return ""; } if(ans.size()==0){ ans += t.second; } else if(ans[ans.size()-1]!=t.second){ ans += t.second; } else if(ans[0]!=t.second){ ans = t.second + ans; } else{ return ""; } } return ans; } };

LeetCode | Daily challenge :

class Solution { public: bool check(vector> &grid,int dr[],int dc[],int &n,int &m,int x,int y, string &word,int &k){ if(grid[x][y]!=word[0])return false; for(int p=0;p<8;p++){ int f=1; for(int i=1;i=0 && ny>=0 && nx>searchWord(vector>grid, string word){ // Code here int n=grid.size(),m=grid[0].size(),k=word.size(); vector> ans; int dr[]={0,1,0,-1,1,1,-1,-1}; int dc[]={1,0,-1,0,1,-1,1,-1}; for(int i=0;i