快乐水题747. 至少是其他数字两倍的最大数

Posted 谁吃薄荷糖

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了快乐水题747. 至少是其他数字两倍的最大数相关的知识,希望对你有一定的参考价值。

原题:

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

题目简述:

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

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

解题思路

1.首先排序,找出最大的数;
2.然后其他数与最大数的一半比大小,如果有比最大数的一半大的则返回-1;
3.找出最大数的下标,输出下标;
4.;处理只有一个数的情况,返回0;
5.over;

C++代码:

class Solution 
public:
    int dominantIndex(vector<int>& nums) 
        vector<int> vec(nums);
        
        sort(vec.begin(),vec.end());
        
        int n = nums.size();
        
        
        if(n == 1)
        
            return 0;
        
        
        cout << vec[n-1];
        
        for(int i = 0;i < n -1;i++)
        
           if( vec[i] > ((float)vec[n-1]/(float)2))
           
               return -1;
           
            
        
        
        for(int i = 0;i < n;i++)
        
            if(nums[i] == vec[n-1])
            
                return i;
            
        
        
        
        return -1;
    
;

力扣结果展示:

以上是关于快乐水题747. 至少是其他数字两倍的最大数的主要内容,如果未能解决你的问题,请参考以下文章

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

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

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

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

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

leetcode 1月13日每日一题 747. 至少是其他数字两倍的最大数