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实现的生成静态HTML速度快类库
Mar 31 PHP
php在页面中调用fckeditor编辑器的方法
Jun 10 PHP
php中判断文件空目录是否有读写权限的函数代码
Aug 07 PHP
PHP中使用json数据格式定义字面量对象的方法
Aug 20 PHP
基于递归实现的php树形菜单代码
Nov 19 PHP
php树型类实例
Dec 05 PHP
PHP实现简单汉字验证码
Jul 28 PHP
PHP创建word文档的方法(平台无关)
Mar 29 PHP
深入理解Yii2.0乐观锁与悲观锁的原理与使用
Jul 26 PHP
yii2 commands模式以及配置crontab定时任务的方法
Aug 19 PHP
PHP实现的链式队列结构示例
Sep 15 PHP
如何在Laravel之外使用illuminate组件详解
Sep 20 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实现将base64编码字符串转换成图片示例
2018/06/22 PHP
javascript开发技术大全 第4章 直接量与字符集
2011/07/03 Javascript
批量实现面向对象的实例代码
2013/07/01 Javascript
深入理解JavaScript系列(30):设计模式之外观模式详解
2015/03/03 Javascript
javascript图片预加载实例分析
2015/07/16 Javascript
浅谈JavaScript中变量和函数声明的提升
2016/08/09 Javascript
js querySelector() 使用方法
2016/12/21 Javascript
BootStrap 导航条实例代码
2017/05/18 Javascript
vue封装第三方插件并发布到npm的方法
2017/09/25 Javascript
微信小程序收藏功能的实现代码
2018/06/12 Javascript
12个提高JavaScript技能的概念(小结)
2019/05/09 Javascript
微信小程序开发实现的选项卡(窗口顶部/底部TabBar)页面切换功能图文详解
2019/05/14 Javascript
详解vue-video-player使用心得(兼容m3u8)
2019/08/23 Javascript
js实现有趣的倒计时效果
2021/01/19 Javascript
[02:45]DOTA2英雄基础教程 伐木机
2013/12/23 DOTA
[02:49]2018DOTA2亚洲邀请赛主赛事决赛日战况回顾 Mineski鏖战5局夺得辉耀
2018/04/10 DOTA
python实现电子词典
2020/04/23 Python
python获取Linux下文件版本信息、公司名和产品名的方法
2014/10/05 Python
python爬虫中get和post方法介绍以及cookie作用
2018/02/08 Python
Python实现图片尺寸缩放脚本
2018/03/10 Python
python如何通过twisted实现数据库异步插入
2018/03/20 Python
Python Pandas找到缺失值的位置方法
2018/04/12 Python
Python读取本地文件并解析网页元素的方法
2018/05/21 Python
Python3 执行Linux Bash命令的方法
2019/07/12 Python
selenium切换标签页解决get超时问题的完整代码
2020/08/30 Python
python连接mysql数据库并读取数据的实现
2020/09/25 Python
css3 column实现卡片瀑布流布局的示例代码
2018/06/22 HTML / CSS
英国家居用品和家居装饰品购物网站:Cox & Cox
2019/08/25 全球购物
如果NULL定义成#define NULL((char *)0)难道不就可以向函数传入不加转换的NULL了吗
2012/02/15 面试题
SQL Server面试题
2013/04/04 面试题
调解员先进事迹材料
2014/02/07 职场文书
规范化管理年活动总结
2014/08/29 职场文书
向国旗敬礼活动小结
2014/09/27 职场文书
工作检讨书怎么写
2014/10/10 职场文书
社会实践活动总结格式
2015/05/11 职场文书
idea 在springboot中使用lombok插件的方法
2021/08/02 Java/Android