您好,登錄后才能下訂單哦!
這篇文章主要介紹“PHP 如何計算至少是其他數字兩倍的最大數”,在日常操作中,相信很多人在PHP 如何計算至少是其他數字兩倍的最大數問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”PHP 如何計算至少是其他數字兩倍的最大數”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
計算至少是其他數字兩倍的最大數
在一個給定的數組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,則返回最大值的 index,否則返回 -1
PHP 實現
class Solution { /** * @param Integer $num * @return Boolean */ function dominantIndex($nums) { $count = count($nums); if ($count === 1) return 0; $max = 0; $subMax = 0; $index = 0; for($i = 0; $i < $count; $i++) { if($nums[$i] >= $max){ $subMax = $max; $max = $nums[$i]; $index = $i; } else if ($nums[$i] > $subMax) { $subMax = $nums[$i]; } } return ($max >= $subMax * 2) ? $index : -1; } }
總結
到此,關于“PHP 如何計算至少是其他數字兩倍的最大數”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。