当前位置: 首页 > article >正文

双指针专题1:有效三角形的个数

描述

给定一个正整数n,输入一行包含非负整数的数组 nums ,返回其中可以组成三角形三条边的三元组个数。

输入描述

第一行输入一个正整数n
第二行输入n个nums[i]

输出描述

输出其中可以组成三角形三条边的三元组个数。

解释一个样例:

4

2 2 3 4

第一组:2 2 3 4

第二组:2 2 3 4

第三组:2 2 3 4

一共三组。

#include <bits/stdc++.h>
using namespace std;
int main(){
	int n;
	int a[1010];
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>a[i];
	} 
	sort(a+1,a+n+1);//将各条边的长度排序
	int cnt=0;
	for(int i=n;i>1;i--){
		int l=1,r=i-1;
		while(l<r){
			if(a[l]+a[r]>a[i]){//如果最短的一条边和r组合都能组成三角形,那么从l到r-1的边都可以组成三角形
				cnt+=r-l;
				r--;//试探极值
			}
			else{
				l++;
			}
		}
	}
	cout<<cnt;
    return 0;    
}


http://www.kler.cn/a/547382.html

相关文章:

  • 如何学习HBase:从入门到精通的完整指南
  • 编译RV1126SDK记录
  • SQL 注入漏洞原理以及修复方法
  • 【开源免费】基于Vue和SpringBoot的旅游管理系统(附论文)
  • 3DsMax快捷键
  • 在IDEA中误操作Git Rollback后的恢复方法
  • oppo,康冠科技25届春招内推
  • 更高效实用 vscode 的常用设置
  • 2025年02月14日Github流行趋势
  • 【kafka系列】At Most Once语义
  • LeetCode字符串相关算法题(1)【C语言版】
  • Matlab 多项式曲线拟合(三维)
  • 深度学习框架探秘|Keras 应用案例解析以及 Keras vs TensorFlow vs PyTorch
  • ML.NET库学习007:从SQL数据库中流式读取数据并进行预测分析
  • 协议-NVME
  • Office hour 2-自然语言处理
  • 144,【4】 buuctf web [极客大挑战 2020]Roamphp1-Welcome
  • Springboot-配置文件中敏感信息的加密:三种加密保护方法比较
  • 【java】List<String> fruits = new ArrayList<>(); 这一句是什么
  • Cables and Servers