Go•largest-perimeter-triangle/solution.go
package main
import "sort"
func largestPerimeter(nums []int) int {
sort.Sort(sort.Reverse(sort.IntSlice(nums)))
for index := 0; index+2 < len(nums); index++ {
if nums[index+1]+nums[index+2] > nums[index] {
return nums[index] + nums[index+1] + nums[index+2]
}
}
return 0
}
Python•largest-perimeter-triangle/solution.py
class Solution:
def largestPerimeter(self, nums: list[int]) -> int:
nums.sort(reverse=True)
for first, second, third in zip(nums, nums[class="syntax-number">1:], nums[class="syntax-number">2:]):
if second + third > first: return first + second + third
return class="syntax-number">0
TypeScript•largest-perimeter-triangle/solution.ts
function largestPerimeter(nums: number[]): number {
nums.sort((left, right) => right - left);
for (let index = class="syntax-number">0; index + class="syntax-number">2 < nums.length; index += class="syntax-number">1) if (nums[index + class="syntax-number">1] + nums[index + class="syntax-number">2] > nums[index]) return nums[index] + nums[index + class="syntax-number">1] + nums[index + class="syntax-number">2];
return class="syntax-number">0;
}