当前位置: 首页 > 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/news/322467.html

相关文章:

  • 【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系列—深度图滤波
  • 手搓一个Agent#Datawhale 组队学习Task3
  • Android常用C++特性之std::move
  • 【机器学习(九)】分类和回归任务-多层感知机(Multilayer Perceptron,MLP)算法-Sentosa_DSML社区版
  • 华为HarmonyOS灵活高效的消息推送服务(Push Kit) -- 6 撤回通知消息
  • tomcat 文件上传 (CVE-2017-12615)
  • 计算机知识科普问答--21(101-105)
  • 【FE】NPM——概述
  • 13年408计算机考研-计算机网络
  • 动态规划算法:13.简单多状态 dp 问题_打家劫舍II_C++
  • 搜索软件 Everything 的安装与使用教程