【问题标题】:Arrays. Histograms, dividing array into subset and counting number of elements in each group. Java数组。直方图,将数组划分为子集并计算每组中的元素数。爪哇
【发布时间】:2011-08-16 03:32:54
【问题描述】:

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

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

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

public int[] 直方图(int numdivisions) 谁能告诉我最好的方法是什么?谢谢

【问题讨论】:

  • 为了我对任务的理解,您需要创建一个除法,其中所有子数组中的元素数量相等(如果 size%partitions != 0,则为 +-1)我是否正确?
  • 不,我不这么认为.. 这意味着如果用户输入 numdivsions,那么我们必须创建一个步长,每个元素都落入其中。例如。 {1,2,3,4,56} 并且 numdivisons 是 3。那么步长将是 1-3 和 4-56。因此新数组将是 {3,2} 即每个步长有多少元素。你明白我的意思吗? :o

标签: java arrays histogram


【解决方案1】:

简单:

  1. 获取数组的最小和最大元素
  2. 取差除以num,得到“步”
  3. 现在遍历数组,将数字 n 放入槽 i 中,使得 i * step

【讨论】:

  • 是的。谢谢。你能解释一下你在第3步做了什么吗?我的意思是 n 是从哪里来的? n 是元素的数量吗?
  • "n" 是您正在迭代的当前元素。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-10-13
  • 2022-01-08
  • 2023-03-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多