【问题标题】:Divide integers in sections [Java]将整数除以部分 [Java]
【发布时间】:2019-11-15 11:36:45
【问题描述】:

我想将我从用户那里获得的输入划分为 java 中不同的 num 部分。然后作为输出,每个部分必须有多少个数字。 例如。 1 1 2 3 4 4 5 6 7 8 9 10 11 12

  • 在 (0 - 3) 部分有 4 个数字
  • 在第 (4 - 6) 节中有 4 个数字
  • 在第 (7 - 9) 节中有 3 个数字
  • 在 (10 - 12) 部分有 3 个数字

我不知道如何管理。

【问题讨论】:

  • 您可以设置一个限制,每一步增加 3,然后在值 时遍历您的输入列表
  • 如果您只想除此特定数组或包含任意ints(或longs?)... Please explain in detail how the grouping should be done for an array of size n`的任意大小的数组),这在逻辑上有所不同。
  • "在第 (4 - 6) 节中有 4 个数字" 为什么?
  • @tannerli 感谢您的建议和最初的想法
  • @deHaar 它不适用于特定数组。我已经实现了所有,只是停留在这一步。为了便于理解,我用这个例子问了

标签: java arraylist sections


【解决方案1】:

想法是将每个列表element放入对应的桶中

存储桶的IDelement-1/3 计算,其中/divisionremainder

这样除法产生quotientremainder,bucket的ID等于quotient

除了 0 以外都有效,所以可以通过 if 条件放到第一个桶中

【讨论】:

    【解决方案2】:

    所以.. 我有一个想法。在此特定示例中,您有针对组的第 3 步。也许让我们用四舍五入将数字除以 3 并将结果用作组号。例如:Math.ceil(1/3.0) == 1,所以这是第 1 组 (0-3),对于 Math.ceil(5/3.0) == 2,所以这是第 2 组,等等。但请注意 Math.ceil(0/3.0) == 0

    关于四舍五入的参考:Java Round up Any Number

    P.S.:请不要怪我,我在stackoverflow上的第一个答案。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-06
      • 2018-12-03
      • 1970-01-01
      • 2021-01-18
      • 2018-01-06
      相关资源
      最近更新 更多