.

题目链接
有效三角形个数
题目详情

算法原理
补充知识点
有效三角形需要满足的条件:
- a+b>c
- a+c>b
- b+c>a
其实在满足1
的时候,c是最大的,那么2和3是显然成立的,因此我们可以这样解题:
对数组进行排序,先找到一个最大的边,然后对这个边的左边进行遍历和校验,看看有哪两个边能够与这个边组成三角形,然后再对次最长的边进行校验,依次循环
双指针:对撞指针
这里校验另外两个小边与大边是否能够组成三角形,我们使用的是双指针算法:利用单调性,使用双指针来解决问题

当nums[left]+nums[right]>最长边的时候,也就是图中2+9&