我有两个数组array_a
和array_b
。
每个数组可以包含零个到无限个元素之间的任意位置,但是我只需要从这两个元素中总共选择5个即可。
array_a
的最佳组合为3,array_b
的最佳组合为2。
如果两个阵列中的总数均小于其最佳数量,则应从另一个阵列中进行补偿(例如,array_a
中的4个和array_b
中的1个),以总计为5个。
鉴于我知道两个数组中的元素总数,计算最佳组合的最有效方法是什么?
以下是我在Python中的伪代码解决方案,但我觉得它可以更有效地完成:
source_a_count = array_a.len()
source_b_count = array_b.len()
if source_a_count =< 3
source_b_count = 5 - source_a_count
else if source_b_count =< 2
source_a_count = 5 - source_b_count
else
source_a_count = 3
source_b_count = 2
答案 0 :(得分:0)
您当然可以减少if-else语句。
source_a_count = 3
source_b_count = 2
if array_a.len() < 3
source_a_count = array_a.len()
source_b_count = 5 - source_a_count
else if array_b.len() < 2
source_b_count = array_b.len()
source_a_count = 5 - source_b_count