Binary String of given length that without a palindrome of size 3
Last Updated :
22 Jul, 2022
Given an integer n. Find a string of characters ‘a’ and ‘b’ such that the string doesn’t contain any palindrome of length 3.
Examples:
Input : 3
Output : "aab"
Explanation:
aab is not a palindrome.
Input : 5
Output : aabba
Explanation:
aabba does not contain a palindrome
of size 3.
The approach here is that we can use this string ‘aabb’ and print the characters of the string according to the given integer.
We need to make sure that every third
character is different.
If we perform operation AND on i and 2 where
i = 0 to any positive integer. It will generate
a pattern 0, 0, 2, 2, 0, 0, 2, 2,...
0 AND 2 = 0
1 AND 2 = 0
2 AND 2 = 2
3 AND 2 = 2
4 AND 2 = 0 //repeat the pattern.
Below is the code of above approach.
C++
#include <bits/stdc++.h>
using namespace std;
void generatestring( int n)
{
for ( int i = 0; i < n; i++)
putchar (i & 2 ? 'b' : 'a' );
puts ( "" );
}
int main()
{
int n = 5;
generatestring(n);
n = 8;
generatestring(n);
n = 10;
generatestring(n);
}
|
Java
class GFG
{
static void generateString( int n)
{
String s = "" ;
for ( int i = 0 ; i < n; i++)
s += ((i & 2 ) > 1 ? 'b' : 'a' );
System.out.println(s);
}
public static void main(String[] args)
{
int n = 5 ;
generateString(n);
n = 8 ;
generateString(n);
n = 10 ;
generateString(n);
}
}
|
Python3
def generateString(n):
s = "";
for i in range (n):
if ((i & 2 ) > 1 ):
s + = 'b' ;
else :
s + = 'a' ;
print (s);
if __name__ = = '__main__' :
n = 5 ;
generateString(n);
n = 8 ;
generateString(n);
n = 10 ;
generateString(n);
|
C#
using System;
class GFG
{
static void generateString( int n)
{
String s = "" ;
for ( int i = 0; i < n; i++)
s += ((i & 2) > 1 ? 'b' : 'a' );
Console.WriteLine(s);
}
public static void Main(String[] args)
{
int n = 5;
generateString(n);
n = 8;
generateString(n);
n = 10;
generateString(n);
}
}
|
Javascript
<script>
function generateString(n)
{
var s = "" ;
for ( var i = 0; i < n; i++)
s += ((i & 2) > 1 ? 'b ' : ' a');
document.write(s + "<br>" );
}
var n = 5;
generateString(n);
n = 8;
generateString(n);
n = 10;
generateString(n);
</script>
|
Output
aabba
aabbaabb
aabbaabbaa
Like Article
Suggest improvement
Share your thoughts in the comments
Please Login to comment...