[Oferta] ganha a ortografia de uma palavra (uma pergunta por dia)

ligações Tópico: soletrar a palavra


Significado das perguntas: dar-lhe uma palavra "Glossário" (matriz de strings) e um caracteres (string) "alfabeto".

Se você pode soletrar palavras em uma "palavra" (string) com os caracteres na "letra" (personagem), então nós pensamos que você já domina a palavra.

Nota: Cada vez que a ortografia, carboniza cada letra só pode ser usado uma vez.

Retornar palavras do vocabulário em todas as palavras que você domina a soma dos comprimentos.

 

Solução: a violência. de hash semelhante? O número de caracteres com uma série de estatísticas, e depois copiar este array, cada vez que as palavras transversais na palavra, não aparecem na mesma marca. Você pode atravessar com sucesso no registro sobre o comprimento da palavra.

 


código:

Uma  classe Solução {
 2  pública :
 3      int pf [ 26 ] = { 0 };   
4  
5      int countCharacters (vetor < strings > & palavras, cordas caracteres) {
 6          int len = chars.size ();
7          para ( int i = 0 ; i <len; i ++ ) {
 8              mp [caracteres [i] - ' um ' ] ++ ;
9          }    // 统计
10  
11          intans = 0 ;
12          int res [ 26 ];    // 复制表
13          para ( int i = 0 ; i <words.size (); i ++ ) {
 14              cordas palavra = palavras [i];
15              memcpy (res, pf, sizeof (pf));
16              int bandeira = 1 ;
17              para ( int j = 0 ; j <word.size (); j ++ ) {
 18                  se (res [palavra [j] - ' um ' ] == 0 ) {    // Se não houver nenhuma carta 
. 19                      Em Flag = 0 ;
 20 é                      RUPTURA ;
 21 é                  }
 22 é                  else     RES [Palavra [J] - ' A ' ] - ;
 23 é              }
 24              SE (bandeira Na) + ANS = word.size ();
 25          }
 26 é  
27          de retorno ANS;
 28      }
 29 };

 

Acho que você gosta

Origin www.cnblogs.com/Asumi/p/12513682.html
Recomendado
Clasificación