阵列。直方图,将数组划分为子集并计算每组中元素的数量。 Java的

时间:2011-04-30 17:12:07

标签: java arrays histogram

嗨,我真的很困惑,我必须创建这个方法。 我必须创建一个具有num分类的直方图数组,即为numdivisons选择合理的整数范围和步长以覆盖数组中的整个元素范围。 @return数组直方图,其中包含i的位置 *分部i中的观察数量 * /

例如: {1,3,4,5,10,15,17}。

如果numdivisions = 2,那么我们需要将范围(1到17)分成2个分区。 例如,范围0到10(不包括)和10到20。 在这种情况下,在0到10的范围内有4个值,在10和20之间有3个值 numdivisions = 2的直方图是数组{4,3}。

public int [] histogram(int numdivisions) 任何人都可以告诉我这是最好的方法吗?感谢

1 个答案:

答案 0 :(得分:2)

简单:

  1. 获取数组的最小和最大元素
  2. 取差值并将其除以num,得到“step”
  3. 现在遍历数组,将数字n放在插槽i中,使得i * step< = n - min< (i + 1)*步骤