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 stream_context_create()作用和用法分析
Mar 29 PHP
解析将多维数组转换为支持curl提交的一维数组格式
Jul 08 PHP
分割GBK中文遭遇乱码的解决方法
Aug 09 PHP
设置php页面编码的两种方法示例介绍
Mar 03 PHP
php中使用Ajax时出现Error(c00ce56e)的详细解决方案
Nov 03 PHP
php数组保存文本与文本反编成数组实例
Nov 13 PHP
深入浅析PHP7.0新特征(五大新特征)
Oct 29 PHP
PHP邮件群发机实现代码
Feb 16 PHP
php错误日志简单配置方法
Jul 11 PHP
PHP实现对图片的反色处理功能【测试可用】
Feb 01 PHP
php菜单/评论数据递归分级算法的实现方法
Aug 01 PHP
laravel框架实现去掉URL中index.php的方法
Oct 12 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使用imagick模块实现图片缩放、裁剪、压缩示例
2014/04/17 PHP
Yii框架中memcache用法实例
2014/12/03 PHP
微信公众平台接口开发入门示例
2014/12/24 PHP
smarty内部日期函数html_select_date()用法实例分析
2015/07/08 PHP
php数据库的增删改查 php与javascript之间的交互
2017/08/31 PHP
PHP实现的解汉诺塔问题算法示例
2018/08/06 PHP
php+Ajax处理xml与json格式数据的方法示例
2019/03/04 PHP
Nigma vs Alliance BO5 第五场2.14
2021/03/10 DOTA
jQuery 前的按键判断代码
2010/03/19 Javascript
JsDom 编程小结
2011/08/09 Javascript
cument.execCommand()用法深入理解
2012/12/04 Javascript
通过location.replace禁止浏览器后退防止重复提交
2014/09/04 Javascript
详细解读AngularJS中的表单验证编程
2015/06/19 Javascript
js实现跨域访问的三种方法
2015/12/09 Javascript
window.close(); 关闭浏览器窗口js代码的总结介绍
2016/07/14 Javascript
js判断文件格式及大小的简单实例(必看)
2016/10/11 Javascript
jQuery事件对象总结
2016/10/17 Javascript
JavaScript实现图片懒加载(Lazyload)
2016/11/28 Javascript
纯js代码生成可搜索选择下拉列表的实例
2018/01/11 Javascript
使用electron将vue-cli项目打包成exe的方法
2018/09/29 Javascript
nodejs遍历文件夹下并操作HTML/CSS/JS/PNG/JPG的方法
2018/11/01 NodeJs
JS实现马赛克图片效果完整示例
2019/04/13 Javascript
写一个Vue loading 插件
2020/11/09 Javascript
教你如何将 Sublime 3 打造成 Python/Django IDE开发利器
2014/07/04 Python
Python实现Windows和Linux之间互相传输文件(文件夹)的方法
2017/05/08 Python
Python网络爬虫神器PyQuery的基本使用教程
2018/02/03 Python
python3+django2开发一个简单的人员管理系统过程详解
2019/07/23 Python
Keras设定GPU使用内存大小方式(Tensorflow backend)
2020/05/22 Python
利用CSS的Sass预处理器(框架)来制作居中效果
2016/03/10 HTML / CSS
北承题目(C++)
2012/05/16 面试题
临床护士自荐信
2014/01/31 职场文书
法定代表人授权委托书范本
2014/10/07 职场文书
2015年简历自我评价范文
2015/03/11 职场文书
建党伟业的观后感
2015/06/01 职场文书
jackson json序列化实现首字母大写,第二个字母需小写
2021/06/29 Java/Android
前端监听websocket消息并实时弹出(实例代码)
2021/11/27 Javascript