博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
至少是其他数字两倍的最大数
阅读量:5310 次
发布时间:2019-06-14

本文共 1276 字,大约阅读时间需要 4 分钟。

 In a given integer array 
nums, there is always exactly one largest element.

Find whether the largest element in the array is at least twice as much as every other number in the array.

If it is, return the index of the largest element, otherwise return -1.

Example 1:

Input: nums = [3, 6, 1, 0]Output: 1Explanation: 6 is the largest integer, and for every other number in the array x,6 is more than twice as big as x.  The index of value 6 is 1, so we return 1.

 

Example 2:

Input: nums = [1, 2, 3, 4]Output: -1Explanation: 4 isn't at least as big as twice the value of 3, so we return -1.

 

Note:

nums will have a length in the range [1, 50].

Every nums[i] will be an integer in the range [0, 99]   

 

题意:找出数组中的最大元素,判断这个数是否至少是数组中其它元素的两倍,如果没有这样的元素,返回-1。                                           

思路:找到最大元素,保存其下标,然后对数组排序,找到第二大的数,两个数作比较,如果最大的元素大于或者等于第二大元素的二倍,那么肯定也就大于其余元素的二倍,如果是小于的话,那就返回-1。

class Solution {public:    //找到最大数的id,然后排序和第二大的数比较,如果比它还大,那就返回最大数的id    int dominantIndex(vector
& nums) { int len=nums.size(); int max=0; int id=0; for(int i=0;i
max){ max=nums[i]; id=i; } } sort(nums.begin(),nums.end()); //对vector进行排序 if(max

 

转载于:https://www.cnblogs.com/Bipolard/p/9988042.html

你可能感兴趣的文章
怎么解决dorado跳转到spring mvc乱码的问题
查看>>
[通信] C#多线程Socket-文件传输
查看>>
强盗分宝石
查看>>
JQuery获取元素的方法总结
查看>>
Android学习路线总结,绝对干货
查看>>
CMFCShellList和自定义ShellList结合使用,达到“直接浏览缩略图,双击打开图片”...
查看>>
JS中如何判断null、undefined与NaN
查看>>
JavaScript中的数据类型
查看>>
静态代理模式
查看>>
『ORACLE』安装VMware Tools工具(11g)
查看>>
HoloLens开发手记-全息Hologram
查看>>
从零开始,SpreadJS 新人学习笔记
查看>>
python---wsgiref初探
查看>>
HighCharts实现双Y轴
查看>>
System.nanoTime()和System.currentTimeMillis()性能问题
查看>>
同一台服务器部署多个WEB应用,SESSION冲突的解决方法
查看>>
Codeforces Round #238 (Div. 2) D. Toy Sum 暴搜
查看>>
深浅拷贝
查看>>
文件操作
查看>>
21.openssl编程——EVP
查看>>