首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

获取达到最大值的两个索引

,可以通过以下步骤实现:

  1. 定义一个数组,存储需要比较的数值。
  2. 遍历数组,记录当前最大值和对应的索引。同时,记录第二大值和对应的索引。
  3. 如果遇到比当前最大值更大的数值,更新最大值和对应索引,并将之前的最大值和索引更新为第二大值和索引。
  4. 遍历完成后,即可得到最大值和第二大值的索引。

以下是一个示例的JavaScript代码实现:

代码语言:txt
复制
function getMaxIndices(arr) {
  let maxIndex = -1; // 最大值索引
  let secondMaxIndex = -1; // 第二大值索引
  let maxVal = Number.MIN_SAFE_INTEGER; // 最大值
  let secondMaxVal = Number.MIN_SAFE_INTEGER; // 第二大值

  for (let i = 0; i < arr.length; i++) {
    if (arr[i] > maxVal) {
      // 更新第二大值
      secondMaxVal = maxVal;
      secondMaxIndex = maxIndex;
      // 更新最大值
      maxVal = arr[i];
      maxIndex = i;
    } else if (arr[i] > secondMaxVal) {
      // 更新第二大值
      secondMaxVal = arr[i];
      secondMaxIndex = i;
    }
  }

  return [maxIndex, secondMaxIndex];
}

const arr = [2, 4, 6, 8, 10];
const [maxIndex, secondMaxIndex] = getMaxIndices(arr);
console.log("最大值索引:" + maxIndex);
console.log("第二大值索引:" + secondMaxIndex);

该代码首先定义了四个变量,用于存储最大值索引、第二大值索引、最大值和第二大值。然后,使用循环遍历数组,依次比较每个元素与当前的最大值和第二大值。如果出现更大的值,就更新相应的变量。最后,返回最大值索引和第二大值索引。

需要注意的是,该代码只适用于数组中不存在重复值的情况。如果数组中存在重复值,并且要求返回所有最大值的索引,需要对代码进行适当的修改。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

6分27秒

083.slices库删除元素Delete

5分59秒

069.go切片的遍历

领券