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

原创 2018年04月16日 22:25:55

在一个给定的数组nums中,总是存在一个最大元素 。

查找数组中的最大元素是否至少是数组中每个其他数字的两倍。

如果是,则返回最大元素的索引,否则返回-1。

示例 1:

输入: nums = [3, 6, 1, 0]
输出: 1
解释: 6是最大的整数, 对于数组中的其他整数,
6大于数组中其他元素的两倍。6的索引是1, 所以我们返回1.

示例 2:

输入: nums = [1, 2, 3, 4]
输出: -1
解释: 4没有超过3的两倍大, 所以我们返回 -1.

提示:

nums 的长度范围在[1, 50].
每个 nums[i] 的整数范围在 [0, 99].


/**
 * Created by Joe on 2018/4/16.
 * 747. Largest Number At Least Twice of Others
 * https://leetcode.com/problems/largest-number-at-least-twice-of-others/description/
 */
public class P747 {
    public int dominantIndex(int[] nums) {
        int firstMax=0, secondMax=0, k=0;

        for(int i=0; i<nums.length;i++){
            if(nums[i]>firstMax){
                secondMax=firstMax;
                firstMax=nums[i];
                k=i;
            }else if(nums[i]>secondMax){
                secondMax=nums[i];
            }
        }

        return (secondMax==0 || firstMax/secondMax>=2) ? k : -1;
    }
}

测试用例真恶心。。。

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011669700/article/details/79967708

美化你的文字

  想玩点文字横向拉宽的特效吗?很简单,你不需要去计算什么 Width + 1 之类的象素值,只需调用一个 API 函数,就可以搞定!她就是——SetTextCharacterExtra()   这个...
  • AttaBoy
  • AttaBoy
  • 2001-05-30 19:39:00
  • 847

LeetCode 179. Largest Number(最大数)

原题网址:https://leetcode.com/problems/largest-number/ Given a list of non negative integers, arrange ...
  • jmspan
  • jmspan
  • 2016-05-25 01:36:20
  • 424

第四章 数字传输

1 数字到数字转换 11 线路编码 12 线路编码方案 单极性不归零NRZ编码Uniploar 极性不归零NRZ-L和NRZ-I编码 Polar 极性归零Polar RZ 双向编码 AMI和伪三元编码...
  • qq_31805821
  • qq_31805821
  • 2017-11-21 19:44:26
  • 151

php 关键字 过滤

  • 2009年06月11日 14:53
  • 2KB
  • 下载

把2移至前方,数字立刻变成两倍

论坛上有人出了这样一道,求一个数,这个数的个位数是2,当把个位上的2移动到最高位的前面时,这个数即为原数的两倍。 一开始我用循环穷举,无果,估计此数可能非常巨大。分析算法后发现可以简化为: #incl...
  • fireseed
  • fireseed
  • 2004-07-01 12:26:00
  • 2414

07:不与最大数相同的数字之和

原题链接 总时间限制: 1000ms 内存限制: 65536kB 描述 输出一个整数数列中不与最大数相同的数字之和。 输入输入分为两行: 第一行为N(N为接下来数...
  • mayuan2017
  • mayuan2017
  • 2017-11-01 08:18:51
  • 1013

《算法导论》系列课后思考题之-第三章《函数的增长》(上)

练习 3.1-1 设f(n)与g(n)都是渐进非负函数。利用Θ记号的基本定义来证明max(f(n), g(n)) =Θ(f(n) + g(n))。 证明:    若证明成立,则存在n>=n0,...
  • jiuduan2009
  • jiuduan2009
  • 2011-12-18 18:05:11
  • 2320

华为2014年机试题1 (输入1--50个数字,求出最小数和最大数的和 )

http://blog.csdn.net/xuzhilong2009/article/details/11751001 //华为2014年机试题1:输入1--50个数字,求出最小数和最大...
  • yan420523
  • yan420523
  • 2013-09-17 16:37:03
  • 804

C语言实现之数字中的最大数字组合

接上一篇,还是我同学给的题目,第2个。 *写的比较仓促,如果有更简便、执行效率更高的方法还请不吝赐教,当然我的如果有问题请大家给指出。 题目:         请在整数n=92081346718...
  • wpggles
  • wpggles
  • 2012-10-30 23:19:48
  • 1934

747. Largest Number At Least Twice of Others。

In a given integer array nums, there is always exactly one largest element.Find whether the largest ...
  • Leafage_M
  • Leafage_M
  • 2018-01-07 21:12:12
  • 494
收藏助手
不良信息举报
您举报文章:747. 至少是其他数字两倍的最大数
举报原因:
原因补充:

(最多只允许输入30个字)