leetcode 747. 至少是其他數字兩倍的最大數
在看題目的示例2時,給了我啟發,要想一個數是其他所有數的2倍以上,那它只需要是第2大的數兩倍以上。所以就變成了遍歷一遍陣列,找出其中的最大數和第2大的數,然後比較是不是2倍。
用時0ms
class Solution {
public:
int dominantIndex(vector<int>& nums) {
if(nums.size() == 1)
return 0;
int max1 = INT_MIN;
int max2 = INT_MIN;
int index = 0;
for(int i = 0; i< nums.size(); ++i)
{
if(nums[i] > max1)
{
max2 = max1;
max1 = nums[i];
index = i;
}else if(nums[i] > max2)
{
max2 = nums[i];
}
}
if(max1 >= 2*max2)
return index;
return -1;
}
};
相關文章
- 在一個給定的陣列中查詢陣列中的最大元素是否至少是陣列中每個其他數字的兩倍, 如果是,則返回最大元素的索引,否則返回-1。陣列索引
- 求兩個正整數的最大公約數與最小公倍數--C#實現C#
- JavaScript保留兩位或者其他位數小數JavaScript
- 最大公約數和最小公倍數--java實現Java
- 最大公約數與最小公倍數演算法演算法
- LeetCode-179-最大數LeetCode
- [LeetCode] Add Two Numbers 兩個數字相加LeetCode
- LeetCode——兩數相加LeetCode
- LeetCode:兩數之和LeetCode
- LeetCode - 兩數之和LeetCode
- Leetcode兩數相加LeetCode
- 其他進位制的數字 轉換
- linux C(hello world)最大公約數和最小公倍數Linux
- LeetCode 29——兩數相除LeetCode
- LeetCode 2——兩數相加LeetCode
- LeetCode 1 兩數之和LeetCode
- leetcode #1 兩數之和LeetCode
- 【leetcode】【2、兩數相加】LeetCode
- LeetCode-兩數相加LeetCode
- LeetCode之兩數之和LeetCode
- 【LeetCode】2 兩數相加LeetCode
- 用一個巨集實現求兩個數中的最大數
- LeetCode - 1365 - 有多少小於當前數字的數字LeetCode
- 求多個數最大公約數、最小公倍數的一種變換演算法演算法
- LeetCode1365有多少小於當前數字的數字LeetCode
- python LeetCode 兩數相除PythonLeetCode
- LeetCode: Two sum(兩數之和)LeetCode
- LeetCode 1. 兩數之和LeetCode
- LeetCode 2.兩數相加LeetCode
- leetcode 2. 兩數相加LeetCode
- LeetCode-1. 兩數之和LeetCode
- [LeetCode] Two Sum 兩數之和LeetCode
- 給定陣列中找到最大的兩個數陣列
- LeetCode 力扣 羅馬數字轉整數LeetCode力扣
- Codeforces 876B Divisiblity of Differences:數學【任意兩數之差為k的倍數】
- LeetCode-485-最大連續 1 的個數LeetCode
- leetcode13題——羅馬數字轉整數LeetCode
- [LeetCode] Integer to Roman 整數轉化成羅馬數字LeetCode