Skip to content
Programmingoneonone
Programmingoneonone
  • Engineering Subjects
    • Internet of Things (IoT)
    • Digital Communication
    • Human Values
  • Programming Tutorials
    • C Programming
    • Data structures and Algorithms
    • 100+ Java Programs
    • 100+ C Programs
    • 100+ C++ Programs
  • Solutions
    • HackerRank
      • Algorithms Solutions
      • C solutions
      • C++ solutions
      • Java solutions
      • Python solutions
    • Leetcode Solutions
    • HackerEarth Solutions
  • Work with US
Programmingoneonone
Programmingoneonone

HackerEarth Palindromes problem solution

YASH PAL, 31 July 202416 February 2026
In this HackerEarth Palindromes problem solution Everybody loves palindromes, but Artur doesn’t.
He has a string S that consists of lowercase English letters (‘a’ – ‘z’). Artur wants to find a substring T of S of the maximal length, so that T isn’t a palindrome.
 
 
HackerEarth Palindromes problem solution

 

 

HackerEarth Palindromes problem solution.

#include <bits/stdc++.h>

using namespace std;

int main()
{
string s;
cin >> s;
int n = s.size();
int cnt = 0;
for (int i = 0; i < n; i++)
cnt += s[i] == s[0];
if (cnt == n)
{
cout << "0";
return 0;
}
cnt = 0;
for (int i = 0; i < n; i++)
cnt += s[i] == s[n - i -1];
if (cnt == n)
{
cout << n - 1;
return 0;
}
cout << n;
return 0;
}
 

Second solution

#include<bits/stdc++.h>

using namespace std;

#define vi vector < int >
#define pii pair < int , int >
#define pb push_back
#define mp make_pair
#define ff first
#define ss second
#define foreach(it,v) for( __typeof((v).begin())it = (v).begin() ; it != (v).end() ; it++ )
#define ll long long
#define llu unsigned long long
#define MOD 1000000007
#define INF 0x3f3f3f3f
#define dbg(x) { cout<< #x << ": " << (x) << endl; }
#define dbg2(x,y) { cout<< #x << ": " << (x) << " , " << #y << ": " << (y) << endl; }
#define all(x) x.begin(),x.end()
#define mset(x,v) memset(x, v, sizeof(x))
#define sz(x) (int)x.size()

bool isPalin(string s)
{
int l = 0 , r = sz(s) - 1;
while(l < r && s[l] == s[r])
{
l++,r--;
}
return (l == r);
}

bool allSame(string s)
{
int i;
for(i=1;i<sz(s);i++)
{
if(s[i] != s[i-1])
return 0;
}
return 1;
}

int main()
{
string s;
cin>>s;
assert(1 <= sz(s) && sz(s) <= 100000);
int ans;
if(allSame(s))
ans = 0;
else if(isPalin(s))
ans = sz(s) - 1;
else
ans = sz(s);
printf("%dn",ans);
return 0;
}
 

coding problems solutions HackerEarth HackerEarth

Post navigation

Previous post
Next post

Leave a Reply

Your email address will not be published. Required fields are marked *

Programmingoneonone

We at Programmingoneonone, also known as Programming101 is a learning hub of programming and other related stuff. We provide free learning tutorials/articles related to programming and other technical stuff to people who are eager to learn about it.

Pages

  • About US
  • Contact US
  • Privacy Policy

Practice

  • Java
  • C++
  • C

Follow US

  • YouTube
  • LinkedIn
  • Facebook
  • Pinterest
  • Instagram
©2026 Programmingoneonone | WordPress Theme by SuperbThemes