PHP 计算至少是其他数字两倍的最大数的实现代码


Posted in PHP onMay 26, 2020

计算至少是其他数字两倍的最大数

在一个给定的数组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 计算至少是其他数字两倍的最大数的文章就介绍到这了,更多相关PHP 计算至少是其他数字两倍的最大数内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

PHP 相关文章推荐
PHP 字符串操作入门教程
Dec 06 PHP
php 更新数据库中断的解决方法
Jun 05 PHP
PHP编程过程中需要了解的this,self,parent的区别
Dec 30 PHP
dedecms系统的广告设置代码 基础版本
Apr 09 PHP
php自动注册登录验证机制实现代码
Dec 20 PHP
php调用MySQL存储过程的方法集合(推荐)
Jul 03 PHP
php_imagick实现图片剪切、旋转、锐化、减色或增加特效的方法
Dec 15 PHP
php使用递归函数实现数字累加的方法
Mar 16 PHP
Ajax实现对静态页面的文章访问统计功能示例
Oct 10 PHP
详解yii2使用多个数据库的案例
Jun 16 PHP
Laravel中encrypt和decrypt的实现方法
Sep 24 PHP
PHP单文件上传原理及上传函数的封装操作示例
Sep 02 PHP
tp5.1 框架数据库-数据集操作实例分析
May 26 #PHP
tp5.1 框架路由操作-URL生成实例分析
May 26 #PHP
tp5.1 框架join方法用法实例分析
May 26 #PHP
tp5.1框架数据库子查询操作实例分析
May 26 #PHP
tp5.1 框架数据库常见操作详解【添加、删除、更新、查询】
May 26 #PHP
Laravel 修改验证异常的响应格式实例代码详解
May 25 #PHP
tp5.1 框架查询表达式用法详解
May 25 #PHP
You might like
YB217、YB235、YB400浅听
2021/03/02 无线电
php的urlencode()URL编码函数浅析
2011/08/09 PHP
PHP中文件缓存转内存缓存的方法
2011/12/06 PHP
PHP字符串长度计算 - strlen()函数使用介绍
2013/10/15 PHP
php使用qr生成二维码的示例分享
2014/01/20 PHP
浅析ThinkPHP中execute和query方法的区别
2014/06/13 PHP
解决微信授权回调页面域名只能设置一个的问题
2016/12/11 PHP
phpstudy默认不支持64位php的解决方法
2017/02/20 PHP
Laravel 简单实现Ajax滚动加载示例
2019/10/22 PHP
JavaScript是否可实现多线程  深入理解JavaScript定时机制
2009/12/22 Javascript
jQuery EasyUI API 中文文档 - Parser 解析器
2011/09/29 Javascript
使用 Node.js 做 Function Test实现方法
2013/10/25 Javascript
Sea.JS知识总结
2016/05/05 Javascript
实例解析jQuery中proxy()函数的用法
2016/05/24 Javascript
记一次用vue做的活动页的方法步骤
2019/04/11 Javascript
使用express获取微信小程序二维码小记
2019/05/21 Javascript
JavaScript中while循环的基础使用教程
2020/08/11 Javascript
python多线程编程方式分析示例详解
2013/12/06 Python
给Python的Django框架下搭建的BLOG添加RSS功能的教程
2015/04/08 Python
Python中不同进制的语法及转换方法分析
2016/07/27 Python
python 判断是否为正小数和正整数的实例
2017/07/23 Python
python多线程socket编程之多客户端接入
2017/09/12 Python
详解opencv Python特征检测及K-最近邻匹配
2019/01/21 Python
python操作excel让工作自动化
2019/08/09 Python
Python实现语音识别和语音合成功能
2019/09/20 Python
Pandas实现DataFrame按行求百分数(比例数)
2019/12/27 Python
Python动态导入模块和反射机制详解
2020/02/18 Python
python实现简单的学生管理系统
2021/02/22 Python
Speedo美国:澳大利亚顶尖泳衣制造商
2016/08/03 全球购物
商务英语专业毕业生自荐信
2013/11/05 职场文书
团队拓展活动方案
2014/08/28 职场文书
2015年音乐教学工作总结
2015/07/22 职场文书
致毕业季:你如何做好自己的职业生涯规划书?
2019/07/01 职场文书
python迷宫问题深度优先遍历实例
2021/06/20 Python
JavaScript分页组件使用方法详解
2021/07/26 Javascript
canvas 中如何实现物体的框选
2022/08/05 Javascript