GeeksForGeeks - POTD | GFG POTD Answer
Closed channel
1 218
Subscribers
No data24 hours
-97 days
-5730 days
Posts Archive
class Solution{
public:
vector generateNextPalindrome(int num[], int n) {
bool ch=false;
for(int i=0,j=n-1;i=0; i++,j--)
{
if(num[i]num[j])
{
num[j]=num[i];
ch=true;
}
}
if(ch==false)
{
int s,e;
if(n%2==0)
{
s=n/2-1;
e=n/2;
}
else
{
s=n/2;
e=n/2;
}
while( s>=0 && e=0 && e ans;
ans.push_back(1);
for(int i=1;i ans;
for(int i=0;i
class Solution
{
public:
//Function to find the nth catalan number.
int mod=1e9+7;
int rec(int i)
{
if(i==0 || i==1)
return 1;
long long val=0;
for(int j=0;j&dp)
{
if(i==0 || i==1)
return dp[i]=1;
if(dp[i]!=-1)
return dp[i];
long long val=0;
for(int j=0;jdp(n+1,-1);
// return rec1(n,dp);
// dp tabulation
vectordp(n+1,-1);
dp[1]=dp[0]=1;
for(int i=2;i<=n;i++)
{
long long val=0;
for(int j=0;j
class Solution{
public:
int maxOnes(int a[], int n)
{
int mx=0;
int one=0, z=0;
for(int i=0; i
class Solution
{
public:
vector singleNumber(vector nums)
{
int numsXor = 0;
for(int i=0;i 0)
{
mask = (1<
class Solution {
public:
int nthFibonacci(int n){
int a = 0, b = 1, c;
if (n == 0)
return a;
for (int i = 2; i <= n; i++) {
c = (a + b)%1000000007;
a = b;
b = c;
}
return b;
}
};
class Solution
{
public:
//Function to find length of longest increasing subsequence.
int longestSubsequence(int n, int a[])
{
vectorlis;
lis.push_back(a[0]);
for(int i=1; ilis.back()){
lis.push_back(a[i]);
}
else{
// int index = lower_bound(lis.begin(),lis.end(),a[i]);
auto it = lower_bound(lis.begin(), lis.end(), a[i]);
int index = it - lis.begin(); // Convert iterator to index
lis[index] = a[i];
}
}
return lis.size();
}
};
1. Install App https://g.navi.com/GcIXf
2. Buy Digital Gold For βΉ1 Rupees.
3. Verify With Pan Number.
4. Get Cashback Of βΉ100 Rupees Instantly.
Refer Your Friends and Get βΉ100 For Each ReferβΌοΈ
class Solution {
public:
long long find(int coins[], int N, int sum,int idx,vector>&dp){
if(idx==0){
if(sum%coins[0]==0)return 1;
return 0;
}
if(sum<0)return 0;
if(sum==0)return 1;
if(dp[idx][sum]!=-1)return dp[idx][sum];
long long take=0,notTake=find(coins,N,sum,idx-1,dp);
if(sum>=coins[idx])take=find(coins,N,sum-coins[idx],idx,dp);
return dp[idx][sum]=take+notTake;
}
long long int count(int coins[], int N, int sum) {
vector>dp(N,vector(sum+1,-1));
return find(coins,N,sum,N-1,dp);
}
};
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)
{
vector> dp(n+1,vector(m+1,-1));
for(int i=0;i<=n;i++) dp[i][0]=0;
for(int j=0;j<=m;j++) dp[0][j]=0;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
if(s1[i-1]==s2[j-1]) dp[i][j]=1+dp[i-1][j-1];
else dp[i][j]=max(dp[i-1][j],dp[i][j-1]);
}
}
return dp[n][m];
}
};
class Solution{
public:
long long int largestPrimeFactor(int N){
for(int i=2;i<=sqrt(N);i++)
{
if((N%i) == 0)return largestPrimeFactor(N/i);
}
return N;
}
};
class Solution
{
public:
int countFractions(int n, int numerator[], int denominator[])
{
map<pair<int,int>,int>m;
int ans=0;
for(int i=0;i<n;i++)
{
int gcd=__gcd(numerator[i],denominator[i]);
numerator[i]=numerator[i]/gcd;
denominator[i]=denominator[i]/gcd;
int x=numerator[i];
int y=denominator[i];
int z=y-x;
if(m[{z,y}])
{
ans+=m[{z,y}];
}
m[{x,y}]++;
}
return ans;
}
};
