按比例缩小数组 - java

时间:2013-11-13 03:27:34

标签: java

在java中,如果值达到MAX_VALUE以确保所有值都低于MAX_VALUE,是否有人知道如何按比例缩小所有数组值?

例如:

MAX_VALUE = 11

originalArray has values:
 [0] = 6
 [1] = 20
 [2] = 4

因为[1]是MAX_VALUE-1的2倍,我们必须按比例将所有数组值除以2.所以,

newArray has values:
[0] = 3
[1] = 10
[2] = 2

谢谢!

2 个答案:

答案 0 :(得分:0)

提示:

1)迭代数组并找到最大值
2)将最大值除以MAX_VALUE(您可能需要注意用于捕获/存储此值的数据类型)。以ceiling value为例。 **
3)使用在步骤2中获得的值减去数组中的每个元素

**如果您不想或不能使用数学库,那么您可以非常轻松地定义自己的天花板功能。

答案 1 :(得分:0)

我明白了!我使用values [i]来存储数组的新值而不是this.values [i]。

我改变了:

this.values [0] = (int) (values [0] /  newValue);
this.values [1] = (int) (values [1] /  newValue);
this.values [2] = (int) (values [2] /  newValue);
this.values [3] = (int) (values [3] /  newValue);
this.values [4] = (int) (values [4] /  newValue);

谢谢大家!