Leetcode 611 javascript Valid Triangle Number

163 阅读1分钟

思路

先从小到大排序,再3层遍历 只需要判断第 3 个数不要大于或等于前 2 个数之和即可。

源码

/**
 * @param {number[]} nums
 * @return {number}
 */
var triangleNumber = function(nums) {
    let len = nums.length;
    if(len < 3){
        return 0;
    }
    let count = 0;
    nums.sort((a, b) => a - b);
    for(let i = 0; i < len; ++i){
        for(let j = i + 1; j < len; ++j){
            for(let k = j + 1; k < len; ++k){
                if(nums[k] >= nums[i] + nums[j]){
                    break;
                }
                else{
                    count++;
                }
            }
        }
    }
    return count;
};