Dadas las strings S1 , S2 y S , la tarea es verificar si cada substring de S que es igual a S1 tiene otra substring de S igual a S2 antes. Se da que S1 siempre está presente como una substring en la string S.
Ejemplos:
Entrada: S1 = «código», S2 = «geek», S = «sxygeeksgcodetecode»
Salida: Verdadero
Explicación: La substring S2 está presente antes de que ocurra S1.
«sxy geek sg código te código «Entrada: S1 = «código», S2 = «mi», «sxycodesforgeeksvhgh»
Salida: Falso
Enfoque: El enfoque es verificar qué substring ocurre primero. Si aparece la substring S2, primero devuelva verdadero. Si ocurre S1, primero devuelve falso.
A continuación se muestra la implementación del enfoque anterior:
C++
// C++ program for the above approach #include <bits/stdc++.h> using namespace std; // Function to check if S2 is present // before all S1 in string S bool chekfavstring(string& S, string& S1, string& S2) { bool cod = false; int n = S.size(); int n1 = S1.size(), n2 = S2.size(); for (int i = 0; i <= n - n2; i++) { string str; for (int k = i; k < i + n2; k++) { str.push_back(S[k]); } if (str == S2) { return true; } if (str == S1) { return false; } } return true; } // Driver code int main() { string S = "sxygeeksgcodetecode"; string S1 = "code", S2 = "geek"; chekfavstring(S, S1, S2) ? cout << "True" : cout << "False"; return 0; }
Java
// Java program to implement // the above approach class GFG { // Function to check if S2 is present // before all S1 in string S static boolean chekfavstring(String S, String S1, String S2) { int n = S.length(); int n1 = S1.length(), n2 = S2.length(); for (int i = 0; i <= n - n2; i++) { String str = ""; for (int k = i; k < i + n2; k++) { str += S.charAt(k); } if (str == S2) { return true; } if (str == S1) { return false; } } return true; } // Driver Code public static void main(String[] args) { String S = "sxygeeksgcodetecode"; String S1 = "code", S2 = "geek"; if (chekfavstring(S, S1, S2)) { System.out.print("True"); } else { System.out.print("False"); } } } // This code is contributed by ukasp.
Python3
# python3 program for the above approach # Function to check if S2 is present # before all S1 in string S def chekfavstring(S, S1, S2): cod = False n = len(S) n1 = len(S1) n2 = len(S2) for i in range(0, n - n2 + 1): str = "" for k in range(i, i + n2): str += S[k] if (str == S2): return True if (str == S1): return False return True # Driver code if __name__ == "__main__": S = "sxygeeksgcodetecode" S1 = "code" S2 = "geek" print("True") if chekfavstring(S, S1, S2) else print("False") # This code is contributed by rakeshsahni
C#
// C# program to implement // the above approach using System; class GFG { // Function to check if S2 is present // before all S1 in string S static bool chekfavstring(string S, string S1, string S2) { int n = S.Length; int n1 = S1.Length, n2 = S2.Length; for (int i = 0; i <= n - n2; i++) { string str = ""; for (int k = i; k < i + n2; k++) { str += S[k]; } if (str == S2) { return true; } if (str == S1) { return false; } } return true; } // Driver Code public static void Main() { string S = "sxygeeksgcodetecode"; string S1 = "code", S2 = "geek"; if(chekfavstring(S, S1, S2)) { Console.Write("True"); } else { Console.Write("False"); } } } // This code is contributed by Samim Hossain Mondal.
Javascript
<script> // JavaScript code for the above approach // Function to check if S2 is present // before all S1 in string S function chekfavstring(S, S1, S2) { let cod = false; let n = S.length; let n1 = S1.length, n2 = S2.length; for (let i = 0; i <= n - n2; i++) { let str = ""; for (let k = i; k < i + n2; k++) { str += (S[k]); } if (str == S2) { return true; } if (str == S1) { return false; } } return true; } // Driver code let S = "sxygeeksgcodetecode"; let S1 = "code", S2 = "geek"; chekfavstring(S, S1, S2) ? document.write("True") : document.write("False") // This code is contributed by Potta Lokesh </script>
True
Complejidad temporal: O(N * K)
Espacio auxiliar: O(1)
Publicación traducida automáticamente
Artículo escrito por sauarbhyadav y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA