我正在尝试将链接列表划分为 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。
但这仅在元素按特定顺序排列时才有效。