publicclassSolution { publicintDominantIndex(int[] nums) { int m1 = -1, m2 = -1; int index = -1; for (int i = 0; i < nums.Length; i++) { if (nums[i] > m1) { m2 = m1; m1 = nums[i]; index = i; } elseif (nums[i] > m2) { m2 = nums[i]; } } return m1 >= m2 * 2 ? index : -1; } }
[sol1-C]
1 2 3 4 5 6 7 8 9 10 11 12 13 14
intdominantIndex(int* nums, int numsSize) { int m1 = -1, m2 = -1; int index = -1; for (int i = 0; i < numsSize; i++) { if (nums[i] > m1) { m2 = m1; m1 = nums[i]; index = i; } elseif (nums[i] > m2) { m2 = nums[i]; } } return m1 >= m2 * 2 ? index : -1; }
[sol1-Python3]
1 2 3 4 5 6 7 8 9
classSolution: defdominantIndex(self, nums: List[int]) -> int: m1, m2, idx = -1, -1, 0 for i, num inenumerate(nums): if num > m1: m1, m2, idx = num, m1, i elif num > m2: m2 = num return idx if m1 >= m2 * 2else -1
[sol1-Golang]
1 2 3 4 5 6 7 8 9 10 11 12 13 14
funcdominantIndex(nums []int)int { m1, m2, idx := -1, -1, 0 for i, num := range nums { if num > m1 { m1, m2, idx = num, m1, i } elseif num > m2 { m2 = num } } if m1 >= m2*2 { return idx } return-1 }
[sol1-JavaScript]
1 2 3 4 5 6 7 8 9 10 11 12 13 14
var dominantIndex = function(nums) { let m1 = -1, m2 = -1; let index = -1; for (let i = 0; i < nums.length; i++) { if (nums[i] > m1) { m2 = m1; m1 = nums[i]; index = i; } elseif (nums[i] > m2) { m2 = nums[i]; } } return m1 >= m2 * 2 ? index : -1; };