1

値のペアの配列を適切に並べ替えて、正しい順序になるようにするソリューションを構築しようとしています。Pythonでこの例を考えてみましょう。

theArray = [['Dempster St','Main St'],['Dempster St','Church St'],['Emerson St','Church St']]

最終的に次のようになるように配列を注文する必要があります。

theArray = [['Emerson St','Church St'],['Church St','Dempster St'],['Dempster St','Main St']]

いくつかの考慮事項:

  • 各ペア内の順序が同じ方向を指すという保証はありません。例:上記の例では、2番目の配列要素のペアの順序は、残りの要素とは反対の方向を指しています(ChurchからDempsterではなくDempsterからChurch)

  • コードは、PythonとCの両方で使用できるように構築する必要があるため、理想的には、言語固有のトリックなしで実行する必要があります。

  • 最後に、要素が正しい順序に従っている限り、最終的な配列がどの順序で作成されるかは重要ではありません。たとえば、以下のソリューションも機能します。

    theArray = [['Main St','Dempster St'],['Dempster St','Church St'],['Church St','Emerson St']]

アイデア?

4

1 に答える 1

0

私はそれを機能させることができました。複数のネストされたループを使用して、すべてのペアの各要素を相互に反復処理しました。これにより、それらの一意性を確認できました (そして、そのために、refcount のように、アイテムが複数回見つかったときに関連する変数をインクリメントします)。 ; 最後に、カウントが最小の 2 つの要素がルートの開始と終了です。そこから、残りの接続を見つけるのは非常に簡単でした。

于 2013-02-10T13:44:54.250 に答える