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

611. 有效三角形的个数


文章目录

  • 1.题目
  • 2.思路
  • 3.代码,


1.题目

611. 有效三角形的个数

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

示例 1:

输入: nums = [2,2,3,4]
输出: 3
解释:有效的组合是: 
2,3,4 (使用第一个 2)
2,3,4 (使用第二个 2)
2,2,3

示例 2:

输入: nums = [4,2,3,4]
输出: 4

2.思路

a+b>c,第一步先将数组排序,然后从后往前遍历,最后一个数字为c,让第一个数字为a,倒数第二个数为b,如果a+b>c说明a+1+b>c,a+2+b>c,中间一共有b-a个三角形,那么只需要–b进行下一轮判断,如果a+b<=c说明没有数组符合要求。

例如:2,2,3,4

​ a b c 此时a+b>c符合要求有b-a等于2,sum为2

​ 2,2,3,4

​ a b c 此时a+b=c不符合要求

​ 2,2,3,4

​ a b c 此时a+b>c符合要求有b-a等于1,sum为3

3.代码,

class Solution {
public:
    int triangleNumber(vector<int>& nums) {
        //排序
        sort(nums.begin(), nums.end());
        //查找
        int sum = 0;
        for(int i = nums.size()-1;i>0;--i){
            int left = 0 , right = i-1;
            while(left < right){
                if(nums[left]+nums[right] > nums[i]){
                    sum+=right-left;
                    --right;
                }else{
                    ++left;
                }
            }
        }
        return sum;
    }
};


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

相关文章:

  • Stable Diffusion核心网络结构——CLIP Text Encoder
  • 机器学习(西瓜书)-BP神经网络实现
  • 【模块一】kubernetes容器编排进阶实战资源对象之Configmap与Secret简介
  • 【Nginx从入门到精通】03 、安装部署-让虚拟机可以联网
  • 数据处理与统计分析——05-Pandas中DataFrame的方法、属性、索引等一系列操作
  • 【分布式技术】分布式缓存技术-旁路缓存模式(Cache Aside Pattern)
  • 【d52】【Java】【力扣】19.删除链表的倒数第N个节点
  • Python | Leetcode Python题解之第432题全O(1)的数据结构
  • windows端后端运行python程序,类似nohup
  • 大数据Flink(一百二十四):案例实践——淘宝母婴数据加速查询
  • 优青博导团队携手提供组学技术服务、表观组分析、互作组分析、遗传转化实验、单细胞检测等全方位生物医学支持
  • 微服务--ES(Elasticsearch)
  • 如何在谷歌浏览器上玩大型多人在线游戏
  • 【软考】结构化分析方法概述
  • 车载视频监控:安全生产与管理的新趋势
  • 笔记整理—linux进程部分(1)进程终止函数注册、进程环境、进程虚拟地址
  • 基于顺序表的通讯录(纯代码)
  • 「漏洞复现」誉龙视音频综合管理平台 RelMedia/FindById SQL注入漏洞
  • 【大模型-驯化】成功解决载cuda-11.8配置下搭建swift框架
  • VSCode rust文件中的api点击无法跳转问题
  • Request 原理
  • 的使用和内联函数
  • 【Spring Cloud】Spring Cloud 概述
  • 【计算机网络 - 基础问题】每日 3 题(十七)
  • 《JKTECH柔性振动盘:原理与多行业应用》东莞市江坤自动化科技有限公司
  • TOF系列—深度图滤波