题解 | #合法的三角形个数#

合法的三角形个数

http://www.nowcoder.com/practice/e6ee5545535445feaeb92f357644fb14

三角形两边之和大于第三边,将数组排序,利用二分法找到小于两边之和的第三边个数,相加得到最终的结果;

#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param nums int整型一维数组 
# @return int整型
#
import bisect
class Solution:
    def validTriangleNumber(self , nums: List[int]) -> int:
        # write code here
        nums.sort()
        res = 0
        for i in range(len(nums)):
            for j in range(i + 1, len(nums)):
                res += bisect.bisect_left(nums[j + 1:], nums[i] + nums[j])
        return res
全部评论
听大佬一言,犹如醍醐灌顶,茅塞顿开啊
1 回复 分享
发布于 2022-12-14 15:36 陕西

相关推荐

04-01 16:02
已编辑
武汉工程大学 Java
牛客98843461...:处女面??我还种马面渣男面处男面呢
点赞 评论 收藏
分享
评论
2
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务