【快乐水题】747. 至少是其他数字两倍的最大数
生活随笔
收集整理的這篇文章主要介紹了
【快乐水题】747. 至少是其他数字两倍的最大数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
原題:
力扣鏈接:747. 至少是其他數字兩倍的最大數
題目簡述:
給你一個整數數組 nums ,其中總是存在 唯一的 一個最大整數 。
請你找出數組中的最大元素并檢查它是否 至少是數組中每個其他數字的兩倍 。如果是,則返回 最大元素的下標 ,否則返回 -1 。
解題思路
1.首先排序,找出最大的數;
2.然后其他數與最大數的一半比大小,如果有比最大數的一半大的則返回-1;
3.找出最大數的下標,輸出下標;
4.處理只有一個數的情況,返回0;
5.over;
C++代碼:
class Solution { public:int dominantIndex(vector<int>& nums) {vector<int> vec(nums);sort(vec.begin(),vec.end());int n = nums.size();if(n == 1){return 0;}cout << vec[n-1];for(int i = 0;i < n -1;i++){if( vec[i] > ((float)vec[n-1]/(float)2)){return -1;}}for(int i = 0;i < n;i++){if(nums[i] == vec[n-1]){return i;}}return -1;} };力扣結果展示:
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的【快乐水题】747. 至少是其他数字两倍的最大数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《2022博客之星拉票专用帖》
- 下一篇: 为什么长视频没有强算法推荐的产品