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往windows中添加用户
Dec 06 PHP
PHP生成网页快照 不用COM不用扩展.
Feb 11 PHP
php daddslashes()和 saddslashes()有哪些区别分析
Oct 26 PHP
php GUID生成函数和类
Mar 10 PHP
PHP实现的英文名字全拼随机排号脚本
Jul 04 PHP
thinkPHP多域名情况下使用memcache方式共享session数据的实现方法
Jul 21 PHP
对PHP依赖注入的理解实例分析
Oct 09 PHP
深入了解PHP中的Array数组和foreach
Nov 06 PHP
PHP常用算法和数据结构示例(必看篇)
Mar 15 PHP
PHP使用PHPExcel实现批量上传到数据库的方法
Jun 08 PHP
Thinkphp开发--集成极光推送
Sep 15 PHP
php设计模式之原型模式分析【星际争霸游戏案例】
Mar 23 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
在PWS上安装PHP4.0正式版
2006/10/09 PHP
PHP数组及条件,循环语句学习
2012/11/11 PHP
详解PHP的Yii框架中自带的前端资源包的使用
2016/03/31 PHP
php实现留言板功能(代码详解)
2017/03/28 PHP
javascript 常用功能总结
2012/03/18 Javascript
为原生js Array增加each方法
2012/04/07 Javascript
JS 退出系统并跳转到登录界面的实现代码
2013/06/29 Javascript
jsp网页搜索结果中实现选中一行使其高亮
2014/02/17 Javascript
javascript刷新父页面的各种方法汇总
2014/09/03 Javascript
jQuery选择器源码解读(五):tokenize的解析过程
2015/03/31 Javascript
详细分析使用AngularJS编程中提交表单的方式
2015/06/19 Javascript
几种tab切换详解
2017/02/03 Javascript
原生js开发的日历插件
2017/02/04 Javascript
深入学习 JavaScript中的函数调用
2017/03/23 Javascript
详解Vue中状态管理Vuex
2017/05/11 Javascript
Iscrool下拉刷新功能实现方法(推荐)
2017/06/26 Javascript
vue.js实现图书管理功能
2019/09/24 Javascript
[00:48]完美“圣”典2016风云人物:xiao8宣传片
2016/11/30 DOTA
Python  __getattr__与__setattr__使用方法
2008/09/06 Python
解读Python中degrees()方法的使用
2015/05/18 Python
Python tkinter实现的图片移动碰撞动画效果【附源码下载】
2018/01/04 Python
python单例模式获取IP代理的方法详解
2018/09/13 Python
python利用opencv实现SIFT特征提取与匹配
2020/03/05 Python
Django框架安装及项目创建过程解析
2020/09/14 Python
本科生的职业生涯规划范文
2014/01/09 职场文书
校园十佳歌手策划书
2014/01/22 职场文书
大型晚会策划方案
2014/02/06 职场文书
运动会稿件200字
2014/02/07 职场文书
医院义诊活动总结
2014/07/04 职场文书
村当支部个人对照检查材料思想汇报
2014/10/06 职场文书
群众路线剖析材料(四风问题)
2014/10/08 职场文书
2014年就业工作总结
2014/11/26 职场文书
学校党风廉政建设调研报告
2015/01/01 职场文书
千手观音观后感
2015/06/03 职场文书
个人催款函范文
2015/06/23 职场文书
Mysql 如何实现多张无关联表查询数据并分页
2021/06/05 MySQL