Go•largest-number-at-least-twice-of-others/solution.go
package main
func dominantIndex(nums []int) int {
largest, second, largestIndex := -1, -1, -1
for index, value := range nums {
if value > largest {
second, largest, largestIndex = largest, value, index
} else if value > second {
second = value
}
}
if largest >= 2*second {
return largestIndex
}
return -1
}
Python•largest-number-at-least-twice-of-others/solution.py
class Solution:
def dominantIndex(self, nums: list[int]) -> int:
largest = second = largest_index = -class="syntax-number">1
for index, value in enumerate(nums):
if value > largest: second, largest, largest_index = largest, value, index
elif value > second: second = value
return largest_index if largest >= class="syntax-number">2 * second else -class="syntax-number">1
TypeScript•largest-number-at-least-twice-of-others/solution.ts
function dominantIndex(nums: number[]): number {
let largest = -class="syntax-number">1;
let second = -class="syntax-number">1;
let largestIndex = -class="syntax-number">1;
nums.forEach((value, index) => { if (value > largest) { second = largest; largest = value; largestIndex = index; } else if (value > second) second = value; });
return largest >= class="syntax-number">2 * second ? largestIndex : -class="syntax-number">1;
}