做网站上海公司,企业网站内页,沈阳正规男科医院,网页制作免费的模板611. 有效三角形的个数 - 力扣#xff08;LeetCode#xff09; 思路#xff1a; 双指针思想#xff0c;先将数据排序 然后先固定最大的数Max#xff0c;也就是数组最后的数再定义一左一右两个下标 left 、 right#xff0c;当这个值相加大于最大的数#xff0c;那么他两…611. 有效三角形的个数 - 力扣LeetCode 思路 双指针思想先将数据排序 然后先固定最大的数Max也就是数组最后的数再定义一左一右两个下标 left 、 right当这个值相加大于最大的数那么他两之间所有的数和right相加都大于Max记录下值right-- 再进行比较。要是小于Max的话 left再进行比较 代码
public int triangleNumber(int[] nums) {//先将数组排序Arrays.sort(nums);//求出数组长度int n nums.length;int ret 0;//由于数三元组所以 i 2 即可for(int i n-1; i 2; i--){//定义双指针int left 0;int right i-1;while(left right){//当相加大于最大值时if(nums[left] nums[right] nums[i]){ret right-left;right--;}else{left;}}}return ret;}