Dado un entero n. Encuentre una string de caracteres ‘a’ y ‘b’ tal que la string no contenga ningún palíndromo de longitud 3.
Ejemplos:
Input : 3 Output : "aab" Explanation: aab is not a palindrome. Input : 5 Output : aabba Explanation: aabba does not contain a palindrome of size 3.
El enfoque aquí es que podemos usar esta string ‘aabb’ e imprimir los caracteres de la string de acuerdo con el entero dado.
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.
A continuación se muestra el código del enfoque anterior.
C++
// CPP program find a binary string of // given length that doesn't contain // a palindrome of size 3. #include <bits/stdc++.h> using namespace std; void generatestring(int n) { // Printing the character according to i for (int i = 0; i < n; i++) putchar(i & 2 ? 'b' : 'a'); puts(""); } // Driver code int main() { int n = 5; generatestring(n); n = 8; generatestring(n); n = 10; generatestring(n); }
Java
// JAVA program find a binary String of // given length that doesn't contain // a palindrome of size 3. class GFG { static void generateString(int n) { String s = ""; // Printing the character according to i for (int i = 0; i < n; i++) s += ((i & 2) > 1 ? 'b' : 'a'); System.out.println(s); } // Driver code public static void main(String[] args) { int n = 5; generateString(n); n = 8; generateString(n); n = 10; generateString(n); } } // This code is contributed by Rajput-Ji
Python3
# Python3 program find a binary String of # given length that doesn't contain # a palindrome of size 3. def generateString(n): s = ""; # Printing the character according to i for i in range(n): if((i & 2) > 1): s += 'b'; else: s += 'a'; print(s); # Driver code if __name__ == '__main__': n = 5; generateString(n); n = 8; generateString(n); n = 10; generateString(n); # This code is contributed by 29AjayKumar
C#
// C# program find a binary String of // given length that doesn't contain // a palindrome of size 3. using System; class GFG { static void generateString(int n) { String s = ""; // Printing the character according to i for (int i = 0; i < n; i++) s += ((i & 2) > 1 ? 'b' : 'a'); Console.WriteLine(s); } // Driver code public static void Main(String[] args) { int n = 5; generateString(n); n = 8; generateString(n); n = 10; generateString(n); } } // This code is contributed by Rajput-Ji
Javascript
<script> // JavaScript program find a binary String of // given length that doesn't contain // a palindrome of size 3. function generateString(n) { var s = ""; // Printing the character according to i for (var i = 0; i < n; i++) s += ((i & 2) > 1 ? 'b' : 'a'); document.write(s + "<br>"); } // Driver code var n = 5; generateString(n); n = 8; generateString(n); n = 10; generateString(n); </script>
Producción
aabba aabbaabb aabbaabbaa
Publicación traducida automáticamente
Artículo escrito por Abhishek Sharma 44 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA