Легкий

Проблема

В данном целочисленном массиве nums всегда есть ровно один самый большой элемент.

Найдите, является ли самый большой элемент в массиве хотя бы в два раза больше, чем любое другое число в массиве.

Если это так, верните индекс самого большого элемента, иначе верните -1.

Пример 1:

Input: nums = [3, 6, 1, 0]
Output: 1
Explanation: 6 is the largest integer, and for every other number in the array x,
6 is more than twice as big as x.  The index of value 6 is 1, so we return 1.

Пример 2:

Input: nums = [1, 2, 3, 4]
Output: -1
Explanation: 4 isn't at least as big as twice the value of 3, so we return -1.

Примечание.

  1. nums будет иметь длину в диапазоне [1, 50].
  2. Каждое nums[i] будет целым числом в диапазоне [0, 99].

Решение

Повторите nums и найдите самый большой и второй по величине элементы. Затем просто сравните самый большой со вторым по величине, умножив 2.

Сложность

Очевидно, что итерация занимает всего O(n) время и требует только O(1) дополнительного пространства.