문제를 이해하고 있다면 바로 풀이를 보면 됨
전체 코드로 바로 넘어가도 됨
마음대로 번역해서 오역이 있을 수 있음
가장 큰 정수는 고유한 정수 배열 nums가 주어진다.
배열에서 가장 큰 요소의 크기가 배열의 다른 모든 요소의 크기의 두 배 이상인지 확인해라. 만약 그렇지않다면 가장 큰 요소의 인덱스를 반환하고, 그렇지 않다면 -1을 반환해라.
#1
Input: nums = [3, 6, 1, 0]
Output: 1
Explanation: 6은 가장 큰 정수이다.
배열 x에 있는 다른 모든 숫자에 대해 6은 x보다 적어도 두 배 크다.
6의 인덱스는 1이므로 1을 반환한다.
#2
Input: nums = [1, 2, 3, 4]
Output: -1
Explanation: 4는 3의 두 배보다 작으므로 -1을 반환한다.
class Solution {
public int dominantIndex(int[] nums) {
int max = -1;
int index = -1;
int second = -1;
for(int i = 0; i < nums.length; i++){
if(nums[i] > max){
second = max;
max = nums[i];
index = i;
}else if(nums[i] > second){
second = nums[i];
}
}
return second * 2 <= max ? index : -1;
}
}