zoukankan      html  css  js  c++  java
  • LeetCode:至少是其他数字两倍的最大数

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

    要求

    1.在一个给定的数组nums中,总是存在一个最大元素 。
    2.查找数组中的最大元素是否至少是数组中每个其他数字的两倍。
    3.如果是,则返回最大元素的索引,否则返回-1。

    思路

    按顺序查找元素,比较数据大小,找出最大值与倒数第二大值,最后比较两值是否为两倍数关系。

    示例

    class Solution {
    public:
        int dominantIndex(vector<int>& nums) {
            if(nums.size()==1){
                return 0;
            }
            int num_max2=-1;
            auto it_max=nums.begin();
            for(auto it=nums.begin()+1;it!=nums.end();it++){
                if(*it>num_max2){
                    num_max2=*it;
                    if(*it>*it_max){
                        num_max2=*it_max;
                        it_max=it;
                    }
                }
            }
            return (*it_max>=(2*num_max2))?(it_max-nums.begin()):-1;
        }
    };
    
    持之以恒的学习,方是进步的唯一途径!
  • 相关阅读:
    第四周JSP作业
    jsp第二次作业
    3.4软件管理与测试作业
    jsp3月3日作业
    课后listview作业
    安卓sql
    activity带数据跳转
    answers
    阿里云ESC无法使用python发送邮件的问题
    Ubuntu 更改时区
  • 原文地址:https://www.cnblogs.com/breezy-ye/p/12721143.html
Copyright © 2011-2022 走看看