漯河建设企业网站,南京网站建设索q.479185700,安居客网站是用什么程序做的,现在装网线多少钱一年题目出处#xff1a;611. 有效三角形的个数 - 力扣#xff08;LeetCode#xff09;
思想#xff1a;利用两条最小的边大于第三条边即为三角形这条定理#xff0c;利用对撞指针来过滤不合理的
操作1#xff1a;排序
操作2#xff1a;固定最大的那条边#xff0c;设置…题目出处611. 有效三角形的个数 - 力扣LeetCode
思想利用两条最小的边大于第三条边即为三角形这条定理利用对撞指针来过滤不合理的
操作1排序
操作2固定最大的那条边设置变量c
操作3a指向索引0b指向c前面一个数 代码
class Solution {
public:int triangleNumber(vectorint nums) {sort(nums.begin(), nums.end());//排序升序 logN * Nint ret 0;//返回值//利用三角形两个最小的边相加大于第三条边,这个是最简单的判断//a b c//这里用的是下标int c nums.size() - 1;int a 0;int b c - 1;if(c 0)b 0;while(a ! b)//初始条件 ab时所有循环结束{while(a ! b)//一个c循环结束{if(nums[a] nums[b] nums[c]){ret b - a;b--;}else if(nums[a] nums[b] nums[c]){a;}}c--;a 0;b c - 1;}return ret;}
};