【发布时间】:2018-07-09 16:23:27
【问题描述】:
给定一个二进制数组,将数组分成三部分,每部分代表相同的小数。
Eg arr[] = {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1}
上面的数组可以按如下方式划分:
{1},{0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}, {1}. Now each part represent same decimal.
一种简单的方法是从 1 开始迭代并检查每个小数是否可以将数组分成三个相等的部分。
是否有任何有效的算法。
【问题讨论】:
-
计算个数(3的倍数)并正确拆分。根据右侧部分的值调整拆分位置(其值不能更改)
-
您是否需要检测到没有解决方案是可能的?并非所有二进制数组都可以按照您描述的方式进行拆分。
-
@Jim Mischel 我们必须确定是否可以以这种方式拆分数组
标签: algorithm