0
点赞
收藏
分享

微信扫一扫

Leetcode 747 至少是其他数字两倍的最大数

黎轩的闲暇时光 2022-01-13 阅读 63

题目

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

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

解题思路

  模拟,找到第一大的和第二大的数判断一下即可。

代码

class Solution {
    public int dominantIndex(int[] nums) {
        int max_value = -1, second_value = -1;
        int length = nums.length, ans = -1;

        for (int i = 0; i < length; i++) {
            if (nums[i] > max_value) {
                max_value = nums[i];
                ans = i;
            }
        }
        for (int i = 0; i < length; i++) {
            if (nums[i] != max_value && nums[i] > second_value) {
                second_value = nums[i];
            }
        }
        return max_value >= second_value * 2 ? ans : -1;
    }
}
举报

相关推荐

0 条评论