<p>Given an integer array <code>nums</code>, return <em>the largest perimeter of a triangle with a non-zero area, formed from three of these lengths</em>. If it is impossible to form any triangle of a non-zero area, return <code>0</code>.</p> <p> </p> <p><strong>Example 1:</strong></p> <pre> <strong>Input:</strong> nums = [2,1,2] <strong>Output:</strong> 5 </pre> <p><strong>Example 2:</strong></p> <pre> <strong>Input:</strong> nums = [1,2,1] <strong>Output:</strong> 0 </pre> <p> </p> <p><strong>Constraints:</strong></p> <ul> <li><code>3 <= nums.length <= 10<sup>4</sup></code></li> <li><code>1 <= nums[i] <= 10<sup>6</sup></code></li> </ul>