976三角形的最大周长
    题目:
    给定由一些正数(代表长度)组成的数组 nums ,返回 由其中三个长度组成的、面积不为零的三角形的最大周长 。如果不能形成任何面积不为零的三角形,返回 0。


    实例:示例 1:
    输入:nums = [2,1,2] 输出:**5

    示例 2:
    输入:nums = [1,2,1] 输出:0


    提示:

    • 3 <= nums.length <= 104
    • 1 <= nums[i] <= 106

    我的思路:
    1.几种排序方法都可,多用几次(最笨的)
    2.动态规划(超时)
    image.png

    题解:
    image.png

    1. class Solution {
    2. public:
    3. int largestPerimeter(vector<int>& A) {
    4. sort(A.begin(), A.end());
    5. for (int i = (int)A.size() - 1; i >= 2; --i) {
    6. if (A[i - 2] + A[i - 1] > A[i]) {
    7. return A[i - 2] + A[i - 1] + A[i];
    8. }
    9. }
    10. return 0;
    11. }
    12. };

    复杂度分析

    • 时间复杂度:O(N \log N)O(N_log_N),其中 NN 是数组 AA 的长度。
    • 空间复杂度:\Omega(\log N)Ω(logN)。