在一个给定的数组nums中,总是存在一个最大元素 。 查找数组中的最大元素是否至少是数组中每个其他数字的两倍。 如果是,则返回最大元素的索引,否则返回-1。 复制代码
示例:
输入: nums = [3, 6, 1, 0] 输出: 1 解释: 6是最大的整数, 对于数组中的其他整数,6大于数组中其他元素的两倍。6的索引是1, 所以我们返回1. 输入: nums = [1, 2, 3, 4] 输出: -1 解释: 4没有超过3的两倍大, 所以我们返回 -1. 复制代码
思考:
用一个变量max记录最大值索引,遍历数组。 如果当前数大于max数,再判断当前数有没有大于两倍的max数,用flag记录结果,并将当前数索引赋给max。 如果当前数小于max数,再判断max是否大于两给的当前述 同样用flag记录结果。 遍历结束,根据flag的真假来判断是否有找到合适的结果。 复制代码
实现:
class Solution {
public int dominantIndex(int[] nums) {
boolean flag = true;
int max = 0;
for(int i = 1; i < nums.length; i++){
if(nums[i] > nums[max]){
flag = nums[i] >= 2*nums[max] ? true : false;
max = i;
}else{
flag = flag && nums[max] >= 2*nums[i] ? true : false;
}
}
return flag ? max : -1;
}
}复制代码
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Usability for the Web
Tom Brinck、Darren Gergle、Scott D. Wood / Morgan Kaufmann / 2001-10-15 / USD 65.95
Every stage in the design of a new web site is an opportunity to meet or miss deadlines and budgetary goals. Every stage is an opportunity to boost or undercut the site's usability. Thi......一起来看看 《Usability for the Web》 这本书的介绍吧!