【发布时间】:2015-04-17 08:11:06
【问题描述】:
在只有 1 和 0 的数组中,你怎么算不。 1 和 0 不进行比较,然后将其修改为 3 和 5 的数组。
我的方法是使用累积数组,使得累积[i]=数组[i]+累积[i-1]。一个数=累积[n] 零个数=n-累积[n];
这种方法正确吗?或者建议一些其他的方法?
我们可以将其转换为 3 和 5 的数组而不进行比较吗?
【问题讨论】:
-
使用关联字典,只使用数字作为键,对于新元素,字典中的值默认为 0。
-
数组会包含 3 和5 吗?还是只有 0 和一个非 0 数字? IE。 0 和 3,或 0 和 5,还是...?
-
添加所有值并从元素的长度/数量中减去呢?应该不难看出,对于一开始就知道的任意一对值,该方法不需要进行太多更改。
标签: arrays algorithm data-structures