Swift Solution with explanation
\n/* The only geometory you need to know to solve this problem is that a \'non-zero \narea triangle\' is any triangle where c < a + b.  If you take any one side
```\n/* The only geometory you need to know to solve this problem is that a \'non-zero \narea triangle\' is any triangle where c < a + b.  If you take any one side of a \ntriangle (C) and it\'s less than the sum of the other two, (A + B) and then do the same\nfor all sides, and if they\'re all true, than it is a valid (non zero area) triangle.  \nHowever, if you start with the highest Int in a set of 3 sides you don\'t need to \ntest all 3 sides. If the highest Int of the 3 sides is less than the sum of the other \n2 than we can conclude that the triangle is non-zero area triangle.\n*/\n\nclass Solution {\n    \n    func largestPerimeter(_ nums: [Int]) -> Int {\n        \n        // Sort array of ints in descending order\n        let x = nums.sorted(by: >)\n        \n        /* Loop through the sorted array in chunks of 3 Ints checking if the \n\t\tfirst (highest) Int is less than the sum of the second and third,  until \n\t\tyou reach the end. At each iteration the largest int will always be at \n\t\tthe front therefore if it is a non-zero triangle all other sides will also \n\t\tresult in a non-zero solution in which case you can just reutrn the \n\t\tsum of all sides for the highest perimeter triangle.\n\t\t*/\n        for (i, _) in x.enumerated() where i <= x.count - 3 {\n            if x[i] < x[i + 1] + x[i + 2] {\n                return x[i] + x[i + 1] + x[i + 2]\n            }\n        }\n        // If we exit the loop without finding any non-zero solutions we return 0\n        return 0\n    }\n    \n}\n```
['Swift']