[オファー]は単語の綴り(一日一の質問を)勝ち

トピックリンク:単語のスペル


質問の意味:あなたは「用語集」(文字列の配列)を与える言葉と「アルファベット」(文字列)文字。

あなたは「単語」「手紙」の文字と(文字列)(文字)で単語を綴ることができるなら、我々はあなたが言葉を習得したと思います。

注:たびスペリングは、各文字は一度だけ使用することができます文字。

あなたは長さの合計をマスターしているすべての単語に語彙を返します。

 

ソリューション:暴力。同様のハッシュ?その後、統計情報の配列と文字の数、およびこの配列をコピーするには、単語の単語を通過するたびに、同じマークの上には表示されません。あなたは正常にこの単語の長さについての記録に行き来することができます。

 


コード:

1  クラスソリューション{
 2  公共3      INTの MP [ 26 ] = { 0 }。   
4  
5      int型 countCharacters(ベクトル< ストリング >&単語、文字列文字){
 6          INT LEN = chars.size()。
7          ためのINTは iは= 0 ; I <LEN; I ++ ){
 8              MP [文字[I] - [ A ' ] ++ ;
9          }    // 统计
10  
11          INTANS = 0 ;
12の         INT RES [ 26 ]。    // 复制表
13          のためにINT iが= 0 ; I <words.sizeを(); I ++ ){
 14              ワード= ワード[i]は、
15              のmemcpy(RES、融点、はsizeof (MP))。
16              のintフラグ= 1 17              のためにINT J = 0 ; J <word.size(); J ++ ){
 18                  であれば(RES [単語[J] - ' ' ] == 0){    // 何文字が存在しない場合
。19                      、フラグ= 0 ;
 20である                     BREAK ;
 21である                 }
 22が                      RES [ワード[J] - [ A ' ] - ;
 23である             }
 24              IF(のフラグ)+ ANS = word.size();
 25          }
 26は、 
27          の戻りANS;
 28      }
 29 }。

 

おすすめ

転載: www.cnblogs.com/Asumi/p/12513682.html