0
点赞
收藏
分享

微信扫一扫

[算法导论] 611. 有效三角形的个数

小禹说财 2022-02-19 阅读 35

0. 题目

三角形,每组 两边之和大于第三边。简化为:两个小边之和大于第三边。

nums 包含的元素为 非负整数,即除了正整数以外,nums 还会包含 0。

故升序排序。 1 2 2 3 4

1. 排序+二分查找 o(n^2logn)

1.1 固定较小的两个边,根据三角形 两边之和大于第三边 这一性质,可以 二分查找 最大的边的范围。

class Solution:
    def triangleNumber(self, nums):
        n = len(nums)
        nums.sort()
        ans = 0
        for i in range(n - 2): #取不到n-2
            for j in range(i+1, n - 1):
          
举报

相关推荐

0 条评论