48 / 205
LeetCode · EasyOson10 ball· ~10 daqiqa

Larger Number At Least Twice of Others

Sizga butun sonlardan iborat nums massivi berilgan. Agar massivdagi eng katta element boshqa barcha elementlardan kamida ikki marta katta bo'lsa, uning indeksini qaytaring. Aks holda -1 qaytaring.

example.go
func solve(nums []int) int {
    // ...
}

Misollar

kod
Input: nums = [3,6,1,0]
Output: 1
Tushuntirish: Eng katta element 6 (indeks 1). 6 >= 2*3, 6 >= 2*1, 6 >= 2*0. Shart bajarilgan.
kod
Input: nums = [1,2,3,4]
Output: -1
kod
Input: nums = [0,0,0,1]
Output: 3

Maslahatlar

  1. Avval eng katta elementning o'zini va indeksini toping, keyin uni qolgan barcha elementlar bilan alohida solishtiring.
  2. Massivdan maksimal elementning indeksini toping; so'ngra qolgan barcha elementlarni aylanib, ularning har biri maksimal elementning yarmidan katta emasligini (max < 2*n) tekshiring — birortasi katta bo'lsa -1 qaytaring, aks holda maksimal indeksni qaytaring.