それぞれが 2D 配列で表される 2 つの 3x3 行列があります。最初のマトリックスは要素を保持します[私はPIDを保存するので、要素の範囲は数百万からなる可能性があります。実際のアプリケーションではAとして単純化しています。整数の範囲です。Aは200、Bは200000です]たとえば、マトリックス要素
{ A B C
B D C
C F B }
2 番目は、各位置の重みを保持します (例: 行列の重み)
{ 9 7 5
8 6 1
7 5 4 }
上記の例では、B の重量が 7+8+4 であり、その後に C が続くため、B が最も重い要素です。
上位 3 つの最も高い要素を見つけるにはどうすればよいですか?
1つの解決策は次のとおりです。要素を別の配列A [9] [2](要素、値、一意)に格納し、要素マトリックスをループしてから、別のループで値配列を通過し、要素に対応する値を埋めることです. [反復して9x2キー値マトリックスを作成し、反復してソートし、反復して重複を削除します(重みを統合する必要があるため)、-より良い方法はありますか? ]
他の効率的な方法はありますか?[ヒント: 3 つしか必要ないので、9x2 は使用しないでください]