溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

PHP 如何計(jì)算至少是其他數(shù)字兩倍的最大數(shù)

發(fā)布時(shí)間:2021-03-08 15:07:13 來(lái)源:億速云 閱讀:98 作者:TREX 欄目:開發(fā)技術(shù)

這篇文章主要介紹“PHP 如何計(jì)算至少是其他數(shù)字兩倍的最大數(shù)”,在日常操作中,相信很多人在PHP 如何計(jì)算至少是其他數(shù)字兩倍的最大數(shù)問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”PHP 如何計(jì)算至少是其他數(shù)字兩倍的最大數(shù)”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!

計(jì)算至少是其他數(shù)字兩倍的最大數(shù)

在一個(gè)給定的數(shù)組nums中,總是存在一個(gè)最大元素 。

查找數(shù)組中的最大元素是否至少是數(shù)組中每個(gè)其他數(shù)字的兩倍。

如果是,則返回最大元素的索引,否則返回-1。

示例 1:

輸入: nums = [3, 6, 1, 0]
輸出: 1
解釋: 6是最大的整數(shù), 對(duì)于數(shù)組中的其他整數(shù),
6大于數(shù)組中其他元素的兩倍。6的索引是1, 所以我們返回1.

示例 2:

輸入: nums = [1, 2, 3, 4]
輸出: -1
解釋: 4沒(méi)有超過(guò)3的兩倍大, 所以我們返回 -1.

提示:

  • nums 的長(zhǎng)度范圍在[1, 50].

  • 每個(gè) nums[i] 的整數(shù)范圍在 [0, 100].

來(lái)源:力扣(LeetCode)鏈接:https://leetcode-cn.com/problems/largest-number-at-least-twice-of-others

解題思路

循環(huán)一遍,記錄最大值,次大值,最后判斷如果最大值大于次大值 * 2,則返回最大值的 index,否則返回 -1

PHP 實(shí)現(xiàn)

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;
 }
}

總結(jié)

到此,關(guān)于“PHP 如何計(jì)算至少是其他數(shù)字兩倍的最大數(shù)”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

php
AI