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

简介: 给你一个整数数组 nums ,其中总是存在 唯一的 一个最大整数 。请你找出数组中的最大元素并检查它是否 至少是数组中每个其他数字的两倍 。如果是,则返回 最大元素的下标 ,否则返回 -1 。
给你一个整数数组 nums ,其中总是存在 唯一的 一个最大整数 。
请你找出数组中的最大元素并检查它是否 至少是数组中每个其他数字的两倍 。如果是,则返回 最大元素的下标 ,否则返回 -1 。
class Solution {
public:
    int dominantIndex(vector<int>& nums) {
        int max = nums[0];
        int max_index = 0;
        for(int i = 1; i < nums.size(); i++){
           if(max < nums[i]){
               max = nums[i];
               max_index = i;
           } 
        }
        for(int i = 0; i < nums.size(); i++){
            if(max < 2*nums[i] && max_index != i){
                return -1;
            }
        }
        return max_index;
    }
};

方法:

时间复杂度O(n),空间复杂度O(1),先找出最大值和最大值的下标,然后用这个最大值与数组中其他元素的两倍进行比较,当最大值小于其他值的两倍时就返回-1,结束完返回1.
目录
相关文章
|
11月前
【Leetcode -746.使用最小花费爬楼梯 -747.至少是其他数字两倍的最大数】
【Leetcode -746.使用最小花费爬楼梯 -747.至少是其他数字两倍的最大数】
67 0
|
3月前
|
Java
贪心 -力扣860.柠檬水找零力扣2208.将数组和减半的最少操作次数力扣179.最大数力扣376.摆动序列
贪心 -力扣860.柠檬水找零力扣2208.将数组和减半的最少操作次数力扣179.最大数力扣376.摆动序列
|
3月前
|
存储 算法 搜索推荐
深入解析力扣179题:最大数(自定义排序法详解及模拟面试问答)
深入解析力扣179题:最大数(自定义排序法详解及模拟面试问答)
|
4月前
|
算法 Java vr&ar
☆打卡算法☆LeetCode 179. 最大数 算法解析
☆打卡算法☆LeetCode 179. 最大数 算法解析
|
算法
Leetcode 862. 和至少为 K 的最短子数组
给你一个整数数组 nums 和一个整数 k ,找出 nums 中和至少为 k 的 最短非空子数组 ,并返回该子数组的长度。如果不存在这样的 子数组 ,返回 -1 。
81 0
|
索引
力扣刷题记录——748. 最短补全词、744. 寻找比目标字母大的最小字母、747. 至少是其他数字两倍的最大数
力扣刷题记录——748. 最短补全词、744. 寻找比目标字母大的最小字母、747. 至少是其他数字两倍的最大数
128 0
力扣刷题记录——748. 最短补全词、744. 寻找比目标字母大的最小字母、747. 至少是其他数字两倍的最大数
LeetCode 1877. 数组中最大数对和的最小值
一个数对 (a,b) 的 数对和 等于 a + b 。最大数对和 是一个数对数组中最大的 数对和 。
107 0
LeetCode contest 187 1437. 是否所有 1 都至少相隔 k 个元素 Check If All 1's Are at Least Length K Places Away
LeetCode contest 187 1437. 是否所有 1 都至少相隔 k 个元素 Check If All 1's Are at Least Length K Places Away
LeetCode Contest 178-1368. 使网格图至少有一条有效路径的最小代价 Minimum Cost to Make at Least One Valid Path in a Grid
LeetCode Contest 178-1368. 使网格图至少有一条有效路径的最小代价 Minimum Cost to Make at Least One Valid Path in a Grid
刷爆力扣之至少是其它数字两倍的最大数
刷爆力扣之至少是其它数字两倍的最大数