S =「アナグラム」、T = 「nagaram」
異所性の言葉に属し、同じ長さ、同じ文字を含む、各文字の出現頻度が同じであるが、単に異なる順序で
S =「ラット」、T = 「車「
S 『R』はTの中にはないので、これは、異所性の言葉に属さない
:アイデア
偽と比較して、同じ文字列の同じ長さかどうかを確認するために最初のない
同一の各文字の出現頻度は、使用することができるかどうかを2テーブルをハッシュします。26 INTは配列の長さを適用します。最初のトラバーサル文字列s次に、各文字列を
カウントしながら、屈折率の点で配列に格納され
た値から1を引いた配列に対応する文字に続く3トラバーサル文字列tを、場合によってはその後、0より小さい発生した場合それは一致しない
コードを次のとおりです。
INT isAnagram(CHAR *は、チャー* tの) { INT FREQ [26]。 int型I、J、len_s、len_t、値; len_s = STRLEN(S)。 len_t = STRLEN(T)。 値= 0。 memset(FREQ、0、26 * 4)。 (もし!len_s = len_t) リターン-1; 用(i = 0; iはlen_sを<; iは++) { FREQ [*(S + I) - ''] + = 1; } (j = 0; J <len_t; J ++)用 { FREQ [*(T + J) - 'A'] - = 1; 値= FREQ [*(T + J) - 'A']。 IF(値<0) -1を返します。 } 1を返します。 }