LeetCode 747. 至少是其他数字两倍的最大数
生活随笔
收集整理的這篇文章主要介紹了
LeetCode 747. 至少是其他数字两倍的最大数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. 題目
在一個給定的數組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, 100].來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/largest-number-at-least-twice-of-others
著作權歸領扣網絡所有。商業轉載請聯系官方授權,非商業轉載請注明出處。
2. 解題
class Solution { public:int dominantIndex(vector<int>& nums) {int max = -1, secMax = -1, id = 0;for(int i = 0; i < nums.size(); ++i){if(nums[i] > max)//比最大的大{secMax = max;//更新第二大的為maxmax = nums[i];//max更新為更大的id = i;}else if(nums[i] <= max && nums[i] > secMax)secMax = nums[i];//更新第二大的為max}if(max >= 2*secMax)return id;return -1;} };4 ms 11 MB
總結
以上是生活随笔為你收集整理的LeetCode 747. 至少是其他数字两倍的最大数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeetCode 223. 矩形面积
- 下一篇: LeetCode 901. 股票价格跨度