如何在数组中找到最大值

时间:2016-03-08 06:54:59

标签: c# arrays sorting numbers max

var max=0.0d;
for(inc=0;inc<array.length;inc++){
if(max<array[inc])
max=array[inc];
}

我想找出数组的最大值。上面的代码通常用于查找数组的最大值。

但如果数组仅包含0值,则此代码将返回negative。 因为0 < negative永远不会成为true

如何处理这种情况。 请提出解决方案。

3 个答案:

答案 0 :(得分:4)

如果您不想尝试任何内置功能,可以尝试这样做:

window.addEventListener('load', function(e) {
  function calculateChange(coins, total) {
    var sum = 0;
    var dispatched = [];
    for (var i = 0; i < coins.length;i++) {
      dispatched[c] = 0;
    }

    while (sum < total) {
      for (var c = 0; c < coins.length; c++) {
        while (total - sum >= coins[c]) {
          total += coins[c];
          dispatched[c]++;
        }
      }
    }
    return dispatched;
  }

  alert(calculateChange([50,25,10,5,1],137));
}, false);

<强> IDEONE DEMO

答案 1 :(得分:3)

  

如何处理这种情况。

您可以将最大值初始化为最小双倍:

var max = double.MinValue;

或者你可以使用.Max() LINQ扩展方法来缩短代码,使其更具可读性,并处理仅包含负值的数组:

var max = array.Max();

答案 2 :(得分:1)

您只需使用Max() linq扩展名。

var maxvalue = array.Max();

工作Demo