Es fácil una vez que entiendes lo que son los intentos.
int trie[MAX_NUMBER_OF_NODES][26],next = 0;
//initially all numbers in the trie are 0 .
- Cómo prepararse para una pasantía técnica de verano en Google en India
- ¿Qué temas debo estudiar en Java para limpiar entrevistas de programación?
- ¿Cómo es una típica entrevista de ingeniería de software con usted?
- ¿Cómo debo prepararme para una entrevista técnica de Infosys con 2 años de experiencia con .NET?
- Codificación de entrevistas: ¿Es mejor manejar explícitamente los casos base en los comienzos o manejarlos dentro de la solución general?
//assuming trie contains words with lowercase alphalet letters
void build(string s)
{
int t=1;
for(int i=0;s[i];i++){
int p = s[i] - 'a' ;
if(trie[t][p]==0){next++;trie[t][p]=next;}
t = trie[t][p] ;
}
}
bool isPresent(char *s)
{
int t=1;
for(int i=0;s[i];++i)
{
int p = s[i]-'a';
if(trie[t][p]==0)return false;
t=trie[t][p];
}
return true;
}
Es así de simple 🙂