# 976. Largest Perimeter Triangle

🟩 Easy

Given an integer array `nums`, return *the largest perimeter of a triangle with a non-zero area, formed from three of these lengths*. If it is impossible to form any triangle of a non-zero area, return `0`.

## Example 1

> **Input**: nums = \[2,1,2]\
> **Output**: 5\
> **Explanation**: You can form a triangle with three side lengths: 1, 2, and 2.

## Example 2

> **Input**: nums = \[1,2,1,10]\
> **Output**: 0\
> **Explanation**: You cannot use the side lengths 1, 1, and 2 to form a triangle.\
> You cannot use the side lengths 1, 1, and 10 to form a triangle.\
> You cannot use the side lengths 1, 2, and 10 to form a triangle.\
> As we cannot use any three side lengths to form a triangle of non-zero area, we return 0.

## Constraints

* `3 <= nums.length <= 10^4`
* `1 <= nums[i] <= 10^6`

## Solution

My Solution

```go
func largestPerimeter(nums []int) int {
    sort.Ints(nums)
    for i:=len(nums)-1; i>1; i-- {
        if nums[i] < nums[i-1] + nums[i-2] {
            return nums[i] + nums[i-1] + nums[i-2]
        }
    }

    return 0   
}
```

![result](https://600345290-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrSK2xH3txU3tYyDsT8mQ%2Fuploads%2Fgit-blob-4ea7825ad1a9c49271110dc669ebf00df15a392b%2F976.png?alt=media)

Leetcode: [link](https://leetcode.com/problems/largest-perimeter-triangle/description)
