リンクリストを合計が等しい2つのサブリストに分割しようとしています。これらのサブリストは、連続した要素で構成される必要はありません。
私はリンクされたリストを持っています
Eg.1
LinkedList={1,7,5,5,4}
should be divided into
LinkedList1={1,5,5}
LinkedList2={7,4}
どちらも要素の合計は 11 と同じです。
Eg.2
LinkedList={42,2,3,2,2,2,5,20,2,20}
This should be divided into two list of equal sum i.e 50.
LinkedList1={42,3,5}
LinkedList2={2,2,2,2,20,2,20}
誰かがこの問題を解決するための疑似コードを提供できますか?
これは私がこれまで考えてきたことです:
連結リストの要素を合計し、2 で割ります。
ここで、linkedlist1 の合計が linkedlist/2 の合計より小さくなるまで、要素を linkedlist1 にプッシュし続けます。
等しくなく、linkedlist sum/2 より小さい場合は、次の要素に移動し、現在の要素を linkedlist2 にプッシュできます。
ただし、これは要素が特定の順序である場合にのみ機能します。