Java アルゴリズム プログラムに関する質問: 同社には筆記試験問題が 1 つだけあり、10 分以内に完了する必要があります。 トピックは次のとおりです。1、2、2、3、4、5 の 6 つの数字を使用して、512234、412345 などのさまざまな配置をすべて出力するメイン関数を Java で記述します。要件は、「4」を 3 番目の位置に配置できないことと、「3」と「5」を接続できないことです。 Javaアルゴリズムの基本的な考え方: 1 問題をグラフ構造のトラバーサル問題に縮小します。実際、6 つの数字は 6 つのノードです。6 つのノードを無向接続グラフに接続し、各ノードについてこのグラフのトラバーサル パスを見つけます。すべてのノードのトラバーサル パスは、これらの 6 つの数字の順列と組み合わせの結果セットです。 2 明らかに、この結果セットはまだ質問の要件を満たしていません。次の点を考慮してください。 1. 3 と 5 は接続できません: 実際の要件は、この接続グラフのノード 3 と 5 は接続できないことです。この条件は、グラフ構造を構築するときに満たされ、その後グラフをトラバースできます。 2. 重複なし: 2 が 2 つあることを考慮すると、重複する結果が存在することは明らかです。結果セットを TreeSet に配置して、重複する結果を除外することができます。 3. 4 は 3 番目の位置には存在できません。それでも、結果セット内でこの条件を満たす結果は削除されます。 グラフ構造は 2 次元配列を使用して定義されます。最適なコードは次のとおりです。
注: 非常にイライラしたので、書き出すのに 30 分以上かかりました。私は今でもプロンプトを読んでいます!!! 無向グラフは、データ構造を学んでいたときには好きではありませんでした。 |
<<: JSPフォーラムツリー構造を実装するための特定のアルゴリズム
>>: ガベージクリーニングは必須 - Java ガベージコレクションアルゴリズム
1980 年代に、FICO はロジスティック回帰アルゴリズムに基づく FICO クレジット スコアリ...
近年、人工知能は急速に発展しており、コンピュータービジョンや自然言語処理の分野で画期的な変化をもたら...
[[192443]] AlphaGoの登場により、2016年は人工知能元年とも言えるでしょう。蘇州で...
2019年も残り1か月余りとなり、各種年間総括も迫ってまいりました。今年の AI の発展を振り返る...
近年、画像生成技術は多くの重要な進歩を遂げました。特に、DALLE2やStable Diffusio...
テクノロジーは私たちの生活に常に影響を与えています。社会として私たちはテクノロジーに大きく依存するよ...
人工知能技術は急速に発展し、成熟しつつあります。多くの最新のアルゴリズムと問題解決手法が日々革新され...
今日、ビッグデータ技術の発展と進歩により、大量のデータを収集および送信するための新しい、より効率的な...
AI と IoT という 2 つの優れたテクノロジーが融合すると、モノのインターネットの人工知能 ...
Facebook は、人工知能プロジェクトで独自のオープンソース AI フレームワーク PyTorc...
システムに閉じ込められた配達員たちは反撃している。最近、海外のテクノロジーメディアWiredは、プラ...
5Gは大規模なアンテナシステムと超高密度ネットワーク技術を採用し、スペクトル共有やD2Dなどの複雑な...
西オーストラリア大学の研究者らは、交通渋滞を緩和するために設計された無人運転車が逆の効果をもたらして...