如何找到最大值的数组索引?

新手上路,请多包涵

上面的标题总结了我的问题,为了澄清事情,一个例子是:

 array[0] = 1
array[1] = 3
array[2] = 7  // largest
array[3] = 5

所以我想要的结果是 2,因为它包含最大的元素 7。

原文由 Dave Lim 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 527
2 个回答
public int getIndexOfLargest( int[] array )
{
  if ( array == null || array.length == 0 ) return -1; // null or empty

  int largest = 0;
  for ( int i = 1; i < array.length; i++ )
  {
      if ( array[i] > array[largest] ) largest = i;
  }
  return largest; // position of the first largest found
}

原文由 Eric 发布,翻译遵循 CC BY-SA 3.0 许可协议

int maxAt = 0;

for (int i = 0; i < array.length; i++) {
    maxAt = array[i] > array[maxAt] ? i : maxAt;
}

原文由 ifloop 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题