【问题标题】:Smallest element array higher than average最小元素数组高于平均水平
【发布时间】:2017-01-05 23:26:52
【问题描述】:

我有一个二维数组,我计算元素的平均值。我正在寻找数组中的最小数字,高于平均数

int tmp, tmp1 = 0;
    for (int i = 0; i < array.length; i++) {
        for (int j = 0; j < array.length; j++) {
            if (averageElements < array[i][j]) {
                tmp = array[i][j];
                if (tmp > tmp1) {
                    tmp1 = tmp;
                }
            }
        }
    }
 System.out.println("Smallest element array higher than average " + tmp1);

例如:

1 1 2 1

1 1 1 5

1 1 1 9

1 1 3 1

平均元素 2.16

高于平均水平:3、5、9

高于平均水平的最小数字 -> 3

【问题讨论】:

  • 我不明白这个问题...您是要在数组中找到平均值还是要在数组中找到最小的数字?
  • 不清楚你在问什么,你有什么问题。
  • 条件必须是 (averageElements

标签: java arrays


【解决方案1】:

if (averageElements &gt; array[i][j]) 表示您只查看小于的值,这与您想要的完全相反。

tmp1 = 0if (array[i][j] &gt; tmp1) 表示您正在寻找大于零的最大 值,这也与您想要的完全相反。如果所有值都是负数,它就行不通了。

试试这个:

int minValue = Integer.MAX_VALUE;
for (int i = 0; i < array.length; i++) {
    for (int j = 0; j < array.length; j++) {
        int value = array[i][j];
        if (averageElements < value && value < minValue) {
            minValue = value;
        }
    }
}
System.out.println("Smallest element array higher than average " + minValue);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-11
    • 2019-08-28
    • 1970-01-01
    • 2014-04-17
    • 2018-07-07
    相关资源
    最近更新 更多