跳转至

2022/01/13 - 747. 至少是其他数字两倍的最大数

747. 至少是其他数字两倍的最大数 - Easy

Description

给你一个整数数组 nums ,其中总是存在 唯一的 一个最大整数 。

请你找出数组中的最大元素并检查它是否 至少是数组中每个其他数字的两倍 。如果是,则返回 最大元素的下标 ,否则返回 -1

Solution

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
class Solution {
    public int dominantIndex(int[] nums) {
        int maxIdx = 0;
        int n = nums.length;
        for (int i = 0; i < n; i++) {
            maxIdx = nums[i] >= nums[maxIdx] ? i : maxIdx;
        }
        for (int i = 0; i < n; i++) {
            if (i == maxIdx) continue;
            if (nums[i] * 2 > nums[maxIdx]) return -1;
        }
        return maxIdx;
    }
}

评论

回到页面顶部