問題タブ [anagram]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - HashMapを使用してアナグラムを格納するOracleのJavaオンラインチュートリアルの例について
HashMapを使用してアナグラムを格納するOracleのオンラインJavaチュートリアルの例を読んでいました。
}
HashMapはHashTableで実装されているため、ソートされたアルファベット順の各文字列には、圧縮後に一意のハッシュコードが必要だと思います(そうでない場合、HashMapに値を格納するリンクリストには、ソートされたアルファベット順の文字列のアナグラムではない値が格納されます)。
JavaのHashMapの実装がこれをどのように満たすことができるか正確にはわかりません-文字列のハッシュコード(a1 * 31 ^ n-1 + a2 * 31 ^ n-2 + ... + an)を使用していると思います。これにより、小文字のみの文字列について話している場合、ハッシュコードの一意性が保証される可能性があります。ただし、キーの値をハッシュテーブルのバケットに配置する前に、ハッシュコードを圧縮する必要もあります(そうしないと、メモリで処理できないhuggggggeハッシュテーブルが作成され、31^10の大きさを考えるだけです。は)。この圧縮の中で、衝突があると思います。言い換えると、真のアナグラムではない2つの異なる文字列は、同じバケットに格納されることになります(これは、真のアナグラムのリストを格納するためにのみ使用する必要があります)。
誰かが私が欠けているかもしれないものを理解するのを手伝ってもらえますか?または、オンラインチュートリアルに何かが欠けている場合はどうなりますか?
ありがとう!
ジェイソン
java - Javaのアナグラムアルゴリズム
アナグラムアルゴリズムを作りたいのですが、このコードは動きません。私のせいはどこですか?たとえば、des と sed はアナグラムですが、出力はアナグラムではありません。一方、string メソッドを使用する必要があります。配列ではありません。:)
java - アナグラム アルゴリズムの障害
重複の可能性:
Java のアナグラム アルゴリズム
アナグラムの単語を見つけるプログラムを作りたいです。
入力が次の場合、コードは正しく機能します
- 単語 1 は DSA です
- 2 番目の単語は asd です
- 出力はアナグラムです(正しい結果)
コードは入力に失敗します
- 最初の言葉はアサです
- 2番目の単語はアサアです
- 結果はアナグラム (誤った結果)
私のせいは何ですか?
objective-c - アナグラム アルゴリズム オブジェクティブ C
私はアナグラムをチェックするために次のコードを書きました.
sql - アナグラムのSQLコード
2つの単語がアナグラムであるかどうかを確認するためのSQLコードがあります。
しかし、mmaaやmamaのような単語の場合、このプログラムはアナグラムではなく戻ります。しかし、それらはアナグラムです。どうすればこの問題を解決できますか?
regex - 正規表現 - アナグラムとサブアナグラムを見つける
文字のプールがあり、正規表現を使用して、それらの文字またはそれらの文字のサブセットのアナグラムであるすべての単語を一致させたいと考えています。
例: 文字列 "ACNE" が与えられた場合、正規表現は次の結果を与えるはずです:
- にきび [T]
- セナ [T]
- できます [T]
- カーン[F]
- カネン [F]
私はこの解決策を試しまし/b[acne]{1,4}/bたが、単一文字の複数回の繰り返しを受け入れます。各文字を最大 1 回取得するにはどうすればよいですか?
c++ - 文字列で別の文字列のアナグラムを検索しますか?
text文字列のアナグラムである文字列から部分文字列を見つけようとしていますpattern。
私の質問: ラビン-カープアルゴリズムをこの目的に合わせて調整できますか?または、より良いアルゴリズムはありますか?
私はブルートフォースアルゴリズムを試しましたが、テキストとパターンはそれぞれ最大100万文字になる可能性があるため、私の場合は機能しませんでした。
更新: O(1)スペースを使用する最悪の場合のO(n 2)アルゴリズムがあると聞きました。誰かがこのアルゴリズムが何であるか知っていますか?
更新2:参考までに、Rabin-Karpアルゴリズムの擬似コードは次のとおりです。
これはローリングハッシュ関数を使用してO(1)で新しいハッシュを計算できるようにするため、全体的な検索は最悪の場合はO(nm)ですが、適切なハッシュ関数を使用すると、最良の場合はO(m + n)になります。 。few collisions文字列のアナグラムを検索するときに生成されるローリングハッシュ関数はありますか?
c - 2 つの文字列が互いのアナグラムであるかどうかを判断するアルゴリズムはありますか?
私は、ASCII文字から形成された2つの文字列が互いのアナグラムであるかどうかをチェックするために(C言語を使用して)この考えを持っています:
文字列の長さが同じかどうかを確認します。
すべての文字の ASCII 値の合計が両方の文字列で同じかどうかを確認します。
すべての文字の ASCII 値の積が両方の文字列で同じかどうかを確認します。
3つすべてが正しい場合、文字列は互いにアナグラムであるに違いないと私は信じています. しかし、私はそれを証明することはできません。これが機能することを証明または反証するのを手伝ってくれる人はいますか?
ありがとう!
python - 文字列を相互にチェックする (アナグラム)
課題は、ユーザーから 2 つのグループの単語を受け取り、その 2 つがアナグラムである場合 (または少なくとも一方の文字がすべて他方に存在する場合) に "True" ステートメントを出力し、"False" ステートメントを出力するプログラムを作成することです。そうでない場合のステートメント。
プログラミング全体に非常に慣れていないので、文字列にインデックスを付けて、すべての部分を別の部分と比較するだけではどうすればよいかわかりません。私は初心者であることを強調します。Python と Anagram でタグ付けされた他の多くの投稿を読みましたが、それらは一様に私の頭上にあり、私が教えられていないことを参照しています。だから単純なほど良い。これまでのところ、私の非動作コードは次のとおりです。
java - 2 つの単語がアナグラムかどうかを確認する方法
2 つの単語が互いにアナグラムであるかどうかを示すプログラムがあります。適切に動作しない例がいくつかありますが、助けていただければ幸いです。ただし、私は 1 年目のプログラマーなので、高度でない場合はそれでよかったと思います。"schoolmaster" と "theclassroom" は互いのアナグラムですが、"theclassroom" を "theclafsroom" に変更すると、まだアナグラムであると表示されます。何が間違っていますか?