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之第八天
Oct 09 PHP
PHP 面向对象实现代码
Nov 11 PHP
关于php mvc开发模式的感想
Jun 28 PHP
两级联动select刷新后其值保持不变的实现方法
Jan 27 PHP
PHP 字符串长度判断效率更高的方法
Mar 02 PHP
destoon整合ucenter后注册页面不跳转的解决方法
Jun 21 PHP
php使用curl获取https请求的方法
Feb 11 PHP
smarty模板引擎之分配数据类型
Mar 30 PHP
深入了解PHP中的Array数组和foreach
Nov 06 PHP
iis 7下安装laravel 5.4环境的方法教程
Jun 14 PHP
Django中的cookie与session操作实例代码
Aug 17 PHP
浅谈PHP无限极分类原理
Mar 14 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和ACCESS写聊天室(四)
2006/10/09 PHP
PHP性能优化工具篇Benchmark类调试执行时间
2011/12/06 PHP
Smarty使用自定义资源的方法
2015/08/08 PHP
php操作access数据库的方法详解
2017/02/22 PHP
PHP删除数组中指定下标的元素方法
2018/02/03 PHP
jQuery与ExtJS之选择实例分析
2010/08/19 Javascript
jQuery插件开发基础简单介绍
2013/01/07 Javascript
yepnope.js使用详解及示例分享
2014/06/23 Javascript
AngularJS中的表单简单入门
2016/07/28 Javascript
js实现QQ面板拖拽效果(慕课网DOM事件探秘)(全)
2017/09/19 Javascript
详解vue-cli项目中怎么使用mock数据
2018/05/29 Javascript
jQuery+CSS实现的标签页效果示例【测试可用】
2018/08/14 jQuery
layui 优化button按钮和弹出框的方法
2018/08/15 Javascript
js简单的分页器插件代码实例
2019/09/11 Javascript
vue-router之实现导航切换过渡动画效果
2019/10/31 Javascript
vue实现表格合并功能
2020/12/01 Vue.js
[02:36]DOTA2英雄基础教程 一击致命幻影刺客
2013/12/06 DOTA
PyQt5每天必学之切换按钮
2020/08/20 Python
解决Python3 抓取微信账单信息问题
2019/07/19 Python
django 单表操作实例详解
2019/07/30 Python
python被修饰的函数消失问题解决(基于wraps函数)
2019/11/04 Python
Python使用py2neo操作图数据库neo4j的方法详解
2020/01/13 Python
python使用Word2Vec进行情感分析解析
2020/07/31 Python
Python面向对象特殊属性及方法解析
2020/09/16 Python
记一次Django响应超慢的解决过程
2020/09/17 Python
世界首屈一指的钓鱼用品商店:TackleDirect
2016/07/26 全球购物
Turnbull & Asser官网:英国皇室御用的顶级定制衬衫
2019/01/31 全球购物
Brother加拿大官网:打印机、贴标机、缝纫机
2019/10/09 全球购物
在求职信中如何凸显个人优势
2013/10/30 职场文书
交通事故赔偿协议书
2014/04/15 职场文书
企业人事任命书
2014/06/05 职场文书
店铺转让协议书(2014版)
2014/09/23 职场文书
先进工作者申报材料
2014/12/23 职场文书
公司岗位说明书
2015/10/08 职场文书
小学二年级班主任工作经验交流材料
2015/11/02 职场文书
java实现对Hadoop的操作
2021/07/01 Java/Android