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+ajax 无刷新删除数据
Feb 20 PHP
php urlencode()与urldecode()函数字符编码原理详解
Dec 06 PHP
spl_autoload_register与autoload的区别详解
Jun 03 PHP
PHP垃圾回收机制引用计数器概念分析
Jun 24 PHP
如何使用PHP实现javascript的escape和unescape函数
Jun 29 PHP
php使用百度翻译api示例分享
Jan 31 PHP
php导出word文档与excel电子表格的简单示例代码
Mar 08 PHP
php实例分享之mysql数据备份
May 19 PHP
老司机传授Ubuntu下Apache+PHP+MySQL环境搭建攻略
Mar 20 PHP
PHP水印类,支持添加图片、文字、填充颜色区域的实现
Feb 04 PHP
Yii2 中实现单点登录的方法
Mar 09 PHP
PHP pthreads v3使用中的一些坑和注意点分析
Feb 21 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
过滤掉PHP数组中的重复值的实现代码
2011/07/17 PHP
JSON在PHP中的应用介绍
2012/09/08 PHP
基于PHP Web开发MVC框架的Smarty使用说明
2013/04/19 PHP
dvwa+xampp搭建显示乱码的问题及解决方案
2015/08/23 PHP
Laravel执行migrate命令提示:No such file or directory的解决方法
2016/03/16 PHP
PHP中rename()函数的妙用讲解
2019/02/28 PHP
PHP使用 Imagick 扩展实现图片合成,圆角处理功能示例
2019/09/09 PHP
jquery统计复选框选中示例
2013/11/05 Javascript
js操纵dom生成下拉列表框的方法
2014/02/24 Javascript
简介JavaScript中的sub()方法的使用
2015/06/08 Javascript
jQuery简单实现提交数据出现loading进度条的方法
2016/03/29 Javascript
javascript中获取元素标签中间的内容的实现方法
2016/10/08 Javascript
js判断出两个字符串最大子串的函数实现方法
2016/11/01 Javascript
NPM 安装cordova时警告:npm WARN deprecated minimatch@2.0.10: Please update to minimatch 3.0.2 or higher to
2016/12/20 Javascript
详解CommonJS和ES6模块循环加载处理的区别
2018/12/26 Javascript
Vue将页面导出为图片或者PDF
2020/08/17 Javascript
转换layUI的数据表格中的日期格式方法
2019/09/19 Javascript
[01:20:37]FNATIC vs NIP 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/19 DOTA
python中 logging的使用详解
2017/10/25 Python
python3模块smtplib实现发送邮件功能
2018/05/22 Python
详解Python 装饰器执行顺序迷思
2018/08/08 Python
Django实现web端tailf日志文件功能及实例详解
2019/07/28 Python
python针对mysql数据库的连接、查询、更新、删除操作示例
2019/09/11 Python
python 计算方位角实例(根据两点的坐标计算)
2020/01/17 Python
Python操作注册表详细步骤介绍
2020/02/05 Python
python实现FTP文件传输的方法(服务器端和客户端)
2020/03/20 Python
Python列表元素删除和remove()方法详解
2021/01/04 Python
俄罗斯苹果优质经销商商店:iPort
2020/05/27 全球购物
精选干货:Java精选笔试题附答案
2014/01/18 面试题
水污染治理专业毕业生推荐信
2013/11/14 职场文书
中国梦演讲稿范文
2014/08/28 职场文书
质量在我心中演讲稿
2014/09/02 职场文书
初中体育教学随笔
2015/08/15 职场文书
python代码实现扫码关注公众号登录的实战
2021/11/01 Python
JavaScript 事件捕获冒泡与捕获详情
2021/11/11 Javascript
MySQL sql模式设置引起的问题
2022/05/15 MySQL