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

Posted ocpc

tags:

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

题目:

技术图片

 

 

解答:

  1. 设置 onetwo 表示最大值和第二大值的数字;
  2. 设置 oneIndex 表示最大值的索引;
  3. 通过 for 遍历 nums
  4. 遍历 nums 过程中:如果这个数 nums[i] 比最大值还大,那么替换掉 twooneoneIndex;如果这个数 nums[i] 比第二大值还大,那么替换掉第二大值 two
  5. 判断 one 是否大于或者等于 two * 2,返回 oneIndex 或者 -1
 1 class Solution {
 2 public:
 3     int dominantIndex(vector<int>& nums) 
 4     {
 5         int one = 0;
 6         int oneIndex = 0;
 7         int two = 0;
 8   
 9         for (int i = 0; i < nums.size(); i++) 
10         {
11             if (nums[i] > one) 
12             {
13                 two = one;
14                 one = nums[i];
15                 oneIndex = i;
16             } else if (nums[i] > two)
17             {
18                 two = nums[i];
19             }
20         }
21         
22         return one >= two * 2 ? oneIndex : -1;
23     }
24 };

 

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

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

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

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

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

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

[LC]747题 Largest Number At Least Twice of Others (至少是其他数字两倍的最大数)