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 04 PHP
PHP mcrypt可逆加密算法分析
Jul 19 PHP
使用php+apc实现上传进度条且在IE7下不显示的问题解决方法
Apr 25 PHP
解析关于wamp启动是80端口被占用的问题
Jun 21 PHP
探寻PHP脚本不报错的原因
Jun 12 PHP
php的SimpleXML方法读写XML接口文件实例解析
Jun 16 PHP
ThinkPHP关于session的操作方法汇总
Jul 18 PHP
用 Composer构建自己的 PHP 框架之使用 ORM
Oct 30 PHP
php简单smarty入门程序实例
Jun 11 PHP
PHP中利用sleep函数实现定时执行功能实现代码
Aug 25 PHP
php图像处理函数imagecopyresampled用法详解
Dec 02 PHP
windows下的WAMP环境搭建图文教程(推荐)
Jul 27 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
实用函数7
2007/11/08 PHP
PHP stristr() 函数(不区分大小写的字符串查找)
2010/06/03 PHP
PHP文件读写操作之文件读取方法详解
2011/01/13 PHP
使用php显示搜索引擎来的关键词
2014/02/13 PHP
PHP使用CURL_MULTI实现多线程采集的例子
2014/07/29 PHP
ThinkPHP独立分组使用的注意事项
2014/11/25 PHP
浅谈php的优缺点
2015/07/14 PHP
PHP实现的线索二叉树及二叉树遍历方法详解
2016/04/25 PHP
PhpStorm terminal无法输入命令的解决方法
2016/10/09 PHP
jquery 关于event.target使用的几点说明介绍
2013/04/26 Javascript
你必须知道的JavaScript 变量命名规则详解
2013/05/07 Javascript
JavaScript获取flash对象与网上的有所不同
2014/04/21 Javascript
JS实现点击按钮后框架内载入不同网页的方法
2015/05/05 Javascript
Javascript removeChild()删除节点及删除子节点的方法
2015/12/27 Javascript
Javascript字符串拼接小技巧(推荐)
2016/06/02 Javascript
javascript正则表达式中分组详解
2016/07/17 Javascript
a标签置灰不可点击的实现方法
2017/02/06 Javascript
jQuery 实现双击编辑表格功能
2017/06/19 jQuery
详解如何实现Element树形控件Tree在懒加载模式下的动态更新
2019/04/25 Javascript
Python本地与全局命名空间用法实例
2015/06/16 Python
Python实现简易Web爬虫详解
2018/01/03 Python
tensorflow使用神经网络实现mnist分类
2018/09/08 Python
Django中使用Celery的方法示例
2018/11/29 Python
对python数据切割归并算法的实例讲解
2018/12/12 Python
python实现计数排序与桶排序实例代码
2019/03/28 Python
基于Python实现船舶的MMSI的获取(推荐)
2019/10/21 Python
python NumPy ndarray二维数组 按照行列求平均实例
2019/11/26 Python
PyCharm+PyQt5+QtDesigner配置详解
2020/08/12 Python
CSS3的新特性介绍
2008/10/31 HTML / CSS
CSS书写规范、顺序和命名规则
2014/03/06 HTML / CSS
时尚设计师手表:The Watch Cabin
2018/10/06 全球购物
口腔工艺技术专业毕业生自荐信
2013/09/27 职场文书
学生打架检讨书大全
2014/01/23 职场文书
艺术学院毕业生自荐信
2014/07/05 职场文书
租房协议书范例
2014/10/14 职场文书
Android RecyclerView实现九宫格效果
2022/06/28 Java/Android